Этот вопрос закрыт для ответов, так как повторяет вопрос Как реализовать цепочки вызовов?
@fsgdoterr

Как сделать вызов методов класса последовательно?

Я новичек в php, сейчаю пытаюсь сделать микро фреймворк, перед этим уже работал с Laravel и писал вот такой вызов функций:
Route::get(...)->name(...);
И не могу понять как сделать вызов функций последовательно тоесть:
$obj = new T();
$obj->firstfunc()->secondfunc()...;

Я так понимаю что эти функции должны быть в одном классе, но когда пишу эти функции то ничего не работает:
class T {
 public function firstfunc() {
    echo 'hello ';
 }
 public function secondfunc() {
   echo 'world ';
 }
}

$obj = new T();
$obj->firstfunc()->secondfunc();
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Для организации цепочки (chaining) каждый метод должен возвращать $this.
class Foo
{
    public function firstfunc()
    {
        echo 'hello ';
        return $this;
    }

    public function secondfunc()
    {
        echo 'world ';
        return $this;
    }
}

$obj = new Foo();
$obj->firstfunc()->secondfunc();

Статические методы должны возвращать новый экземпляр класса.
Ответ написан
Ответы на вопрос 1
Alexandroppolus
@Alexandroppolus
кодир
возвращать this , или как оно там в пхп называется
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы