У меня есть класс, который устанавливает псевдоним класса для других имен классов. Когда функция вызывается внутри этого класса через класс с псевдонимом, мне нужно знать, какой псевдоним был использован. Есть ли способ сделать это в PHP?
Я пробовал следующий код:
class foo
{
public static function test()
{
var_dump(get_called_class());
}
}
class_alias('foo', 'bar');
foo::test();
bar::test();
Какой выводит:
string 'foo' (length=3)
string 'foo' (length=3)
Но я хочу, чтобы bar :: test ();
выводил вместо этого строка 'bar' (длина = 3)
. Хватаясь за соломинку, __ CLASS __
и get_class ()
все дают одинаковый результат. Кажется, я не могу найти в документации PHP ничего другого, что помогло бы мне с этой проблемой, но, надеюсь, я что-то упускаю.
Как получить вызываемый класс с псевдонимом при использовании class_alias?