#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
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 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