Возможно ли, чтобы метод возвращал разные значения в зависимости от контекста (как используется возвращаемое значение)? Например, может ли метод возвращать $this
, когда он используется с оператором стрелки для вызова другого метода (т. Е. Вызовов метода цепочки), но возвращает скаляр, когда возвращаемое значение не используется таким образом?Цепочка функций с различными значениями возврата?
Случай 1:
$result = $test->doSomething1(); // returns 4
// $result returns 4
Случай 2:
$result = $test->doSomething1()->doSomething2();
// doSomething1() returns $this
// doSomething2() returns 8
Есть в любом случае, чтобы выполнить такое поведение?
Почему «$ test-> doSomething1()« return '4' (case 1) и' $ this' (case 2)? –
То, что вы действительно хотите сделать, невозможно, теперь мне интересно, вы действительно этого хотите, или вы не поняли вопрос? –
@GabrielSantos Да, я хочу этого, это было бы намного проще, чем хранить ценность и тянуть это после моих цепных функций. –