псевдоним — что-то не так с class_alias

Я пытаюсь использовать class_alias на фасаде \ Фасады \ Безопасность.

Я попробовал это:

class_alias("\\Facades\\Security", "Security");
echo Security::Unique();

Но я получил ошибку (класс «Безопасность» не найден в …).

Странно то, что когда я пытаюсь это:

$facade = "Security";
class_alias("\\Facades\\" . $facade, $facade);
echo $facade::Unique();

Это работает, и я получаю вывод из функции «Уникальный».
Так что каким-то образом сохраняя имя фасада в переменной и получая к нему доступ оттуда, решает проблему …

Может кто-нибудь сказать мне, почему?

Спасибо 🙂

0

Решение

Предположим, вы используете 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();
?>

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector