Недавно я реализовал это поведение для yii: https://github.com/garex/yii-pipe-behavior
Его основная цель - разрешить цепочку методов для методов, которые являются геттерами. Что-то в таком стиле может быть реализовано на любом другом языке / фреймворке. Это больше похоже на синтаксический сахар для фанатов цепочки методов.
Из ридми:
Например, у владельца есть метод gimmeAll, который возвращает массив, который мы хотим преобразовать методом другого владельца, пусть это будет toSomething. По старинке мы называем:
$bla = Something::create()->toSomething(Something::create()->one()->two()->three()->gimmeAll());
Но с таким поведением мы можем сделать это более элегантным способом:
$bla = Something::create()->one()->two()->three()->pipe('gimmeAll')->unpipe('toSomething', '{r}');
Если метод unpiped имеет единственный параметр, то мы можем опустить параметр '{r}' и вызвать его так:
$bla = Something::create()->one()->two()->three()->pipe('gimmeAll')->unpipe('toSomething');
Итак, мои вопросы:
Неужели это может быть полезно? Я реализовал это поздно ночью и до сих пор не уверен.
Может быть, «велосипед»? Может быть, такое есть на другом языке / фреймворке?