Предположим, что в модульном тесте я хочу использовать class_alias()
чтобы заменить поддельный класс на тот, который обычно используется:
class_alias('MyFakeTestingClass', 'Some\Real\Class\Somewhere');
Есть ли способ отменить эту операцию, чтобы Some\Real\Class\Somewhere
мог вернуться к обычному использованию после этого? Это не работает:
class_alias('Some\Real\Class\Somewhere', 'Some\Real\Class\Somewhere');
Нет.
Разве вы не ошибетесь? Я раньше использовал class_alias
и все еще помню, имея доступ к исходному классу / пространству имен.
class Foo { // Foo } // Foo is the original class, placed first. class_alias('Foo', 'Bar'); var_dump(new Bar, new Foo);