Appeler deux méthodes dans un même appel

Eléphant du PHP | 199 Messages

11 juil. 2010, 00:47

Bonjour.

Des fois je vois dans du code objet php sous cette forme:
objet->methode1()->methode2().

Comment ils font pour appeler deux méthodes à la suite dans un même appel?

Merci d'avance.

Petit nouveau ! | 6 Messages

11 juil. 2010, 01:35

Vous avez besoin de fonction retourner $this. Exemple:
class Exemple
{
    public function method1()
    {
        //
        return $this;
    }
    public function method2()
    {
        //
        return $this;
    }
}
$obj = new Exemple();
$obj->method1()->method2()->method2()->method1();

Eléphant du PHP | 199 Messages

11 juil. 2010, 11:02

Merci beaucoup de la réponse.
Ca marche c'est trop cool.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

11 juil. 2010, 11:40

C'est ce que l'on appelle l'interface Fluent (
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer