Я пытаюсь использовать class_alias на фасаде \Facades\Security.
Я попробовал это:
class_alias("\\Facades\\Security", "Security");
echo Security::Unique();
Но я получил ошибку (класс "Безопасность" не найден в...).
Странно то, что когда я пробую это:
$facade = "Security";
class_alias("\\Facades\\" . $facade, $facade);
echo $facade::Unique();
Он работает, и я получаю вывод из функции "Уникальный". Так что как-то запоминание имени фасада в переменной и доступ к нему оттуда устраняет проблему...
Может кто-нибудь сказать мне, почему?
Благодаря :)
Предположим, вы используете namespace
класса name.., поэтому не нужно бежать (\
), попробуйте этот код
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();
?>