Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/02/2010, à 21:29

wHiteweedow

Pointeur d'objet en PHP .. c'est possible !??! 0.o

Bonjour..
j'aimerais savoir comment m'y prendre "correctement" pour faire fonctionner le script suivant:

class QuelqueChose { ... }
function UneFonction($objet_en_question) { ... }
$maClasse = new QuelqueChose();

UneFonction($maClasse); // <--------- L'erreur est ici

y'a t'il une manière pour que cela fonctionne ? merci.

Hors ligne

#2 Le 12/02/2010, à 23:47

Khyl

Re : Pointeur d'objet en PHP .. c'est possible !??! 0.o

Salut,

je ne vois pas d'erreur flagrante dans ce que tu as noté. A mon avis l'erreur est ailleurs.
Si tu as un code plus explicite et plus complet, je pourrais mieux t'aider.

Hors ligne

#3 Le 13/02/2010, à 00:57

wHiteweedow

Re : Pointeur d'objet en PHP .. c'est possible !??! 0.o

0.o ce n'était pas clair..
Admetton j'ai la classe kernel donc:
$k = new kernel();
$k->load_user_session(); //Va charger l'objet "User"
$k->User->....;

mais si je veux accéder à $k à partir de $User qui est dans $k .. comment je fais ?
parce-que si je tente de faire:
$k->load_user_session($this);
on va me sortir une erreur que ce type de données n'est pas compatible

Dernière modification par wHiteweedow (Le 13/02/2010, à 00:59)

Hors ligne

#4 Le 13/02/2010, à 01:30

mika

Re : Pointeur d'objet en PHP .. c'est possible !??! 0.o

Mais... $this s'utilise à l'intérieur de ta classe pour accéder à une variable ou à une fonction de cette même classe. Sans voir le code difficile d'être affirmatif mais ça a pas l'air d'être le cas là.

Dernière modification par mika (Le 13/02/2010, à 01:30)


Pinard m'a tueR (in vino veritas ?)
Cherche logiciel pour tagger ses vinyles.

Hors ligne

#5 Le 13/02/2010, à 01:35

wHiteweedow

Re : Pointeur d'objet en PHP .. c'est possible !??! 0.o

mais la ce que j'ai fait c'est créer un objet a partir de la classe User dans l'objet Kernel..

mais si je veux accéder aux informations de Kernel à partir de User comment je fais 0.o

parce-que mon code a trop de ligne pour l'envoyer ici

passer $this du Kernel en argument dans le construct de User me donne un erreur

Dernière modification par wHiteweedow (Le 13/02/2010, à 01:37)

Hors ligne

#6 Le 13/02/2010, à 02:06

mika

Re : Pointeur d'objet en PHP .. c'est possible !??! 0.o

wHiteweedow a écrit :

mais la ce que j'ai fait c'est créer un objet a partir de la classe User dans l'objet Kernel..

mais si je veux accéder aux informations de Kernel à partir de User comment je fais 0.o

Mais t'es ou quand tu demandes ça, dans ta classe ou en dehors ? C'est là que je comprend pas


passer $this du Kernel en argument dans le construct de User me donne un erreur

User est une classe, une fonction dans la classe kernel, une fonction en dehors de kernel ????  $this s'utilise à l'intérieur de ta classe et donc $this sera relatif à la classe user si c'en est une, sinon à rien si t'es en dehors.

Vu l'heure tardive je crois que j'ai pas tout  compris. Ça ira mieux demain smile Je relirais ça au calme.

Dernière modification par mika (Le 13/02/2010, à 02:09)


Pinard m'a tueR (in vino veritas ?)
Cherche logiciel pour tagger ses vinyles.

Hors ligne

#7 Le 13/02/2010, à 11:59

Khyl

Re : Pointeur d'objet en PHP .. c'est possible !??! 0.o

Je pense comprendre ce que tu as fait. Tu as un objet kernel qui dans sa méthode load_user_session() va créer un objet User et tu souhaites accéder aux méthodes de User via kernel :

Si c'est bien ça alors tu peux faire un truc du genre:

class kernel
{
 var $user; // pour créer l'objet User
 
 function load_user_session() 
 {
  $this->$user = new User(); // Création de l'objet
 } 

 function getMethodeUser()
 {
  return $this->$user->MethodeUser(); // MethodeUser() : méthode de ton objet User que tu mets à disposition via kernel
 }
}

et là tu pourras accéder à User en faisant :

$k = new kernel();
$k->load_user_session(); 
$k->getMethodeUser();

L'avantage en faisant comme ça c'est que tu mets à disposition de l'utilisateur les méthodes de User dont tu as besoin uniquement.

Dernière modification par Khyl (Le 13/02/2010, à 13:05)

Hors ligne