Я пытаюсь использовать class_alias на фасаде \ Фасады \ Безопасность.
Я попробовал это:
class_alias("\\Facades\\Security", "Security");
echo Security::Unique();
Но я получил ошибку (класс «Безопасность» не найден в …).
Странно то, что когда я пытаюсь это:
$facade = "Security";
class_alias("\\Facades\\" . $facade, $facade);
echo $facade::Unique();
Это работает, и я получаю вывод из функции «Уникальный».
Так что каким-то образом сохраняя имя фасада в переменной и получая к нему доступ оттуда, решает проблему …
Может кто-нибудь сказать мне, почему?
Спасибо 🙂
Предположим, вы используете namespace
имя класса .., так что не нужно бежать (\
), попробуйте этот код
class_alias("\Facades\Security", "Security");
echo Security::Unique();
Вам также нужно будет добавить namespace
в классе псевдонимов B
см. пример кода
<?php
namespace Facades;
class Security {
public static function Unique(){
return "Test return";
}
}
class_alias("\Facades\Security", "\Facades\B");
echo B::Unique();
?>
Других решений пока нет …