Как в PHP получить вызываемый класс с псевдонимом при использовании class_alias?

У меня есть класс, который устанавливает псевдоним класса для других имен классов. Когда функция вызывается внутри этого класса через класс с псевдонимом, мне нужно знать, какой псевдоним был использован. Есть ли способ сделать это в 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?

6
задан Charles 11 February 2012 в 00:31
поделиться