Как получить объект $this
того класса, откуда была вызвана текущая функция?
class a extends zebra {
function xyz() {
...
b::somestaticmethod();
}
}
class b {
public static function somestaticmethod() {
$callerObj = get_called_class();
}
}
Функция get_called_class()
извлекает имя вызывающего класса в строковом формате. То, что я ищу, это то, есть ли способ получить объект ($this
) из контекста вызывающего класса, точно так же, как это произошло бы, если бы $this
был передан в качестве аргумента, как показано ниже.
b::somestaticmethod($this);
Почему?
Я планирую реализовать полиморфное поведение в методе somestaticmethod()
, который будет проверять вызывающий класс и на основе ancestor
этого класса будет вести логику дальше.