Есть код аналогичный этому:
class A extends B {}
abstract class B {
static function show(){
//здесь хочу получить имя класса, от которого был вызван метод
}
}
class D{
public function init() {
A::show();
}
}
$object = new D();
D->init();
Проблема: нужно получить внутри функции show() имя класса, из которого он непосредственно был вызван. Пока все мои поиски и попытки увенчались либо получением класса, в котором эта функция определена (B) или класса, в котором произошёл вызов (D).
Я знаю вариант, при котором решается задача, но для него мне нужно прописывать имя класса как свойство этого класса, чего категорические делать не хочется.
Кто знает решение этой делемы?