Можно ли в php узнать, что вызываемый метод класса является последним в цепочке вызовов?
Пример:
class Example {
public turnLeft(){
//поворот налево
}
public turnRight(){
//поворот направо
}
}
$a = new Example();
$a->turnLeft()->turnLeft()->turnRight();
Можно ли внутри методов turnLeft() и turnRight() определить являются ли они последними в цепочке вызовов? В данном примере последним является turnRight(). Если, к примеру, метод последний, то необходимо выполнить echo 'last method';
В теории можно записать echo в деструктор класса, а в каждом методе менять свойство объекта, мммм... private $last_action например. Использовали объект - уничтожили. Он вам выдаст последнее действие.
Если не удобно постоянно уничтожать объект - можно добавить завершающий метод в цепочку, который будет возвращать последнее совершенное действие.
@Александр, да, именно так задача и решается (я про последнюю ф-ию), но, вероятно, есть возможность узнать последний вызываемый метод прямо из самого метода? Это вопрос скорее на интерес.