Можно ли задуматься о цепочке вызовов методов, чтобы определить, в какой точке вы находитесь в цепочке вызовов? По крайней мере, можно ли различить, является ли метод последним вызовом в цепочке? $instance->method1()->method2()->method3()->method4() Можно ли сделать то же самое с использованием свойств, возвращающих экземпляры объектов? $instances->property1->property2->property3->property4
У меня есть цепной вызов: $object->getUser()->getName(); Я знаю, что я могу использовать строку для вызова функции для объекта: $functionName = 'getUser'; $object->$functionName() or call_user_func(array($object, functionName)) Мне было интересно, можно ли сделать то же самое для цепного звонка? Я попытался сделать: $functionName = 'getUser()->getName'; $object->functionName(); Но я получаю сообщение об ошибке Имя метода должно быть строкой […]
Я пытаюсь обеспечить, чтобы я получал максимальную отдачу от своего класса моделей, и недавно я был новичком в M в MVC. Предполагая, что в вашей модели существуют такие функции: public function by_year($year) { $this->db->where('EXTRACT(YEAR FROM post_date) = '.$year); } public function by_month($month) { $this->db->where('EXTRACT(MONTH FROM post_date) = '.$month); } Можете ли вы объединить эти вызовы […]
Я посмотрел и попытался, но я не могу найти ответ. В PHP можно вызвать функцию-член класса (когда этот класс требует, чтобы конструктор получал параметры), не создавая экземпляр его как объекта? Пример кода (который дает ошибки): <?php class Test { private $end=""; function __construct($value) { $this->end=$value; } public function alert($value) { echo $value." ".$this->end; } } […]
jQuery позволяет мне цепочки методов. Я также помню, что я видел то же самое в PHP, поэтому я написал следующее: class cat { function meow() { echo "meow!"; } function purr() { echo "purr!"; } } $kitty = new cat; $kitty->meow()->purr(); Я не могу заставить цепочку работать. Он генерирует фатальную ошибку сразу после мяука.