@Shimpanze

Как реализовать цепочки вызовов?

Как реализовываются цепочки вызовов?

Например:

$foo = new FOO;
$foo->$bar()->$baz();
  • Вопрос задан
  • 182 просмотра
Решения вопроса 2
delphinpro
@delphinpro Куратор тега PHP
frontend developer
class Foo {
  public function bar() {
    //  …
    return $this;
  }
  public function baz() {
    //  …
    return $this;
  }
  public function value() {
    //  …
    return 12;
  }
}

$foo = new Foo;
echo $foo->bar()->baz()->value() // 12
Ответ написан
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Для такой конструкции нужно возвращать инстанс класса из каждого метода
<?php
class FOO {
	public function bar() {
		echo "Method bar called" . PHP_EOL;
		return $this;
	}
	public function baz() {
		echo "Method baz called" . PHP_EOL;
		return $this;
	}
}

$foo = new FOO;
$foo->bar()->baz();


php execute online
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы