appel continu de fonctions...

appel continu de fonctions... - PHP - Programmation

Marsh Posté le 29-09-2005 à 17:25:19    

bonjour,
 
j'ai un objet php qui avec une fonction me renvoie un autre objet sur lequel je souhaite appeler une fonction...
 
conctrètement je souhaite faire un truc du genre :
 

Code :
  1. $pere = new Pere();
  2. echo $pere->getFilsAine()->getAge();


où bien sûr la classe de l'objet renvoyé par getFilsAine() contient une méthode getAge()...
le seul moyen que j'ai trouvé pour le faire est :

Code :
  1. $pere = new Pere();
  2. $fils = $pere->getFilsAine();
  3. return $fils->getAge();


mais bon ça fait 2 instanciation en plus...
 
on peut raccourcir ??? (c'est un pb général... ici ce n'est qu'un exemple...)

Reply

Marsh Posté le 29-09-2005 à 17:25:19   

Reply

Marsh Posté le 29-09-2005 à 18:32:34    

Soit la réponse se trouve dans la question, soit j'ai rien pigé.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 29-09-2005 à 18:52:36    

Bah je dirais que la réponse est dans la question, en tout cas je vois pas comment raccourcire...


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 29-09-2005 à 19:30:43    

dwogsi a écrit :

Bah je dirais que la réponse est dans la question, en tout cas je vois pas comment raccourcire...


 
oui... exact.. j'ai pas été au bout des choses !!
le pb c que  

Code :
  1. $pere = new Pere();
  2. echo $pere->getFilsAine()->getAge();


ne marche pas...
est-ce donc normal ??

Reply

Marsh Posté le 29-09-2005 à 20:22:09    

Ca veut dire quoi, ça marche pas ? Ca affiche rien ? Erreur ?
 
Ca revient exactement au même que ce que tu fais plus haut dans ton exemple cela dit, à part qu'il y a un echo au lieu du return.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 30-09-2005 à 09:21:11    

titione a écrit :

ne marche pas...
est-ce donc normal ??


 
Bah return ou echo... Ca change rien!
Parceque comme l'a dit sielfried c'est la seule différence à noter.


Message édité par dwogsi le 30-09-2005 à 09:21:52

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 30-09-2005 à 09:27:04    

Et un truc du style

($pere->getFilsAine())->getAge()


?
Ou même

$($pere->getFilsAine())->getAge()


?
 
Enfin bon c'est là qu'on voit à quel point le modèle objet de PHP5 est à moitié fait [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 30-09-2005 à 09:27:54    

A moins qu'il soit en PHP<5 ou la dereferensation est impossible si mes souvenirs sont bons


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 30-09-2005 à 09:29:00    

masklinn a écrit :

Et un truc du style

($pere->getFilsAine())->getAge()


?
Ou même

$($pere->getFilsAine())->getAge()


?
 
Enfin bon c'est là qu'on voit à quel point le modèle objet de PHP5 est à moitié fait [:pingouino]


 
Bah en php5 , faire un $objet->truc()->bidule(); est sencé marcher... d'ailleurs je l'utilise tres souvent [:pingouino]


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 30-09-2005 à 09:30:31    

Ok, donc il faut savoir si il serait pas en PHP4 quoi [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 30-09-2005 à 09:30:31   

Reply

Marsh Posté le 30-09-2005 à 09:32:59    

Si quand les gens posaient une question ils pensaient a donner des elements aidant a repondre... Tient c'est un bon exemple pour la faq que je prepare


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 30-09-2005 à 11:32:13    

exact j'étais en php4... :(
la bonne réponse était donc : "A moins qu'il soit en PHP<5 ou la dereferensation est impossible si mes souvenirs sont bons"
désolé pour le manque de renseignements...  

Reply

Marsh Posté le 30-09-2005 à 11:43:29    

Bah voilà si on avait su ca plus tôt....


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 30-09-2005 à 11:47:20    

Donc bravo à esox pour avoir posé les bonnes questions :jap:


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 30-09-2005 à 11:50:02    

:bounce:  :bounce:  :bounce:  
(Qqn a pas un smiley qui fait la fete sous la main? :D )


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 30-09-2005 à 11:50:44    

[:mesh]  
 
This one ?


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 30-09-2005 à 11:52:21    

Pas mal :D Personne d'autre?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 30-09-2005 à 11:52:38    

dwogsi : vi mais c'est justement l'intérêt du pb & l'intérêt des forums...  
si je l'avais su plus tôt, moi aussi je l'aurai trouvé...
 

Reply

Marsh Posté le 30-09-2005 à 11:52:45    

esox_ch a écrit :

Pas mal :D Personne d'autre?


Like this one :
http://www.softsharing.net/perso/forums/icon_pidu.gif
Au moins ya à boir!
 

titione a écrit :

dwogsi : vi mais c'est justement l'intérêt du pb & l'intérêt des forums...  
si je l'avais su plus tôt, moi aussi je l'aurai trouvé...


 
Certes oui!


Message édité par dwogsi le 30-09-2005 à 11:58:03

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed