Я занимаюсь созданием цепочек методов в течение достаточно долгого времени, и кажется, что чем больше я добавляю к динамическому подходу цепочки, тем больше это становится большим беспорядком, таким как добавление новой функции в цепочки, а затем работа со всеми другие виды цепей.
В настоящее время я отбросил некоторые старые проекты, чтобы переписать их более простым способом, над чем я сейчас работаю:
$psm->select('users')->where('id = 1')->run(function($row){
// do code
});
Что работает хорошо, это создает операторы динамически (динамически, так как я мог бы добавить еще одну цепочку в середине, чтобы создать еще одно предложение в выражении.
Мне интересно, есть ли определенная структура, которой нужно следовать при создании цепных методов, потому что, конечно, вам нужно в конце вернуть $this
если не работает последний метод.
Моя текущая структура в голове для создания цепочек классов выглядит следующим образом:
class foo {
public $temporary = '';
public function add($string) {
$this->temporary .= $string;
return $this;
}
public function ret() {
return $this->temporary;
}
}
Итак, при запуске
$foo = new foo;
echo $foo->add('hello ')->add('world!')->ret();
Это выводитhello world!
«Как и следовало ожидать, но есть ли лучшие подходы к созданию цепных методов ООП?
«Есть ли определенный способ цепочки методов в PHP?» относится к самому безопасному и простому в управлении способу сцепления. — Это важно для меня, так как при выпуске моего кода я хочу, чтобы он был в правильном формате, принятом сообществом.
Задача ещё не решена.
Других решений пока нет …