2010-02-18 19 views
0

J'ai une méthode qui retourne une classe et veut appeler une méthode dessus. Au lieu dePHP: Appeler une méthode sur une classe retournée

$theClass = $this->getClass(); 
$theClass->foo(); 

Je voudrais écrire

$this->getClass()->foo(); 

Y at-il une syntaxe pour cela comme de PHP4?

Cela fonctionne:

$this->{$this->getClassName()}->foo(); 

Mais je voudrais manipuler la classe d'avance (je le fais maintenant en getClass()).

Répondre

1

Non, cela ne fonctionnera pas en PHP4, cette fonctionnalité a été améliorée en PHP5. Je me demande pourquoi vous utilisez toujours PHP4 :)

+0

je me suis demandé la même chose que dès que j'ai vu la balise php4 –

+0

@Carson Myers: Oui, ce sont des gens étranges qui utilisent encore PHP4 :( – Sarfraz

+0

je suis triste, aussi, mais Mon entreprise utilise toujours PHP4 (et Apache 1.3 et Kernel 2.4). ;-) Peut-être que quelqu'un d'autre peut trouver une construction fantaisie qui me permet d'écrire ma déclaration en une ligne? – blinry