Как я могу использовать методы в PHP?

jQuery позволяет мне цепочки методов. Я также помню, что я видел то же самое в PHP, поэтому я написал следующее:

class cat { function meow() { echo "meow!"; } function purr() { echo "purr!"; } } $kitty = new cat; $kitty->meow()->purr(); 

Я не могу заставить цепочку работать. Он генерирует фатальную ошибку сразу после мяука.

    Чтобы ответить на ваш пример с кошкой, методы вашей кошки должны вернуть $this , который является текущим экземпляром объекта. Затем вы можете связать свои методы:

     class cat { function meow() { echo "meow!"; return $this; } function purr() { echo "purr!"; return $this; } } 

    Теперь вы можете сделать:

     $kitty = new cat; $kitty->meow()->purr(); 

    Для действительно полезной статьи по этой теме см. Здесь: http://www.talkphp.com/advanced-php-programming/1163-php5-method-chaining.html

    В конце каждого метода, который вы хотите сделать «цепочкой», поместите следующее:

     return $this; 

    Просто верните $this из вашего метода, то есть (ссылку на) самого объекта:

     class Foo() { function f() { // ... return $this; } } 

    Теперь вы можете сосредоточиться на сердце:

     $x = new Foo; $x->f()->f()->f(); 

    да, используя php 5, вы можете вернуть объект из метода. Таким образом, возвращая $this (что указывает на текущий объект), вы можете добиться цепочки методов