Как вызвать функцию после последнего вызова функции в PHP с плавным интерфейсом? ⇐ Php
-
Гость
Как вызвать функцию после последнего вызова функции в PHP с плавным интерфейсом?
Некоторое время меня это озадачивало,
Как выполнить функцию после последнего вызова функции в PHP с плавным интерфейсом?
Например, если у меня есть экземпляр класса, который связан следующим образом:
$myclass->function1()->function2()->function3(); Есть ли способ выполнить фрагмент кода после последней функции, использованной в интерфейсе Fluent? Позже это может быть функция function1(), функция2() или функция3()...
Мне нужно оставить эту строку как есть:
$myclass->function1()->function2()->function3(); Я не могу использовать:
$myclass->function1()->function2()->function3()->afterFunctions(); ни
$myclass->function1()->function2()->function3().""; // для запуска __toString() и может быть любое количество вызванных связанных функций, т.е.
$myclass->function1()->function2(); Я подумал, что, возможно, я мог бы использовать волшебную функцию __destroy(), но это не сработает, поскольку в одной области действия может быть несколько вызовов класса, т.е.
функция test() { $myclass = новый Class1(); $myclass->function1()->function2()->function3(); $myclass2 = новый Класс1(); $myclass2->function2()->function3()->function1(); } Возможно, существует волшебная функция, о которой я не знаю, которая могла бы помочь с финальной функцией для плавного интерфейса классов, связанных в цепочку.
Любая помощь в этом вопросе будет оценена по достоинству.
Некоторое время меня это озадачивало,
Как выполнить функцию после последнего вызова функции в PHP с плавным интерфейсом?
Например, если у меня есть экземпляр класса, который связан следующим образом:
$myclass->function1()->function2()->function3(); Есть ли способ выполнить фрагмент кода после последней функции, использованной в интерфейсе Fluent? Позже это может быть функция function1(), функция2() или функция3()...
Мне нужно оставить эту строку как есть:
$myclass->function1()->function2()->function3(); Я не могу использовать:
$myclass->function1()->function2()->function3()->afterFunctions(); ни
$myclass->function1()->function2()->function3().""; // для запуска __toString() и может быть любое количество вызванных связанных функций, т.е.
$myclass->function1()->function2(); Я подумал, что, возможно, я мог бы использовать волшебную функцию __destroy(), но это не сработает, поскольку в одной области действия может быть несколько вызовов класса, т.е.
функция test() { $myclass = новый Class1(); $myclass->function1()->function2()->function3(); $myclass2 = новый Класс1(); $myclass2->function2()->function3()->function1(); } Возможно, существует волшебная функция, о которой я не знаю, которая могла бы помочь с финальной функцией для плавного интерфейса классов, связанных в цепочку.
Любая помощь в этом вопросе будет оценена по достоинству.