Вызов статического автозагружаемого класса без пространства имен

Мне было интересно, можно ли использовать статический класс PHP (или метод этого класса, должен я сказать), не вызывая его через пространство имен аля laravel?

Я понимаю, что это противоречит природе пространств имен, но в основном я хотел использовать их так же, как это делает Laravel, где я могу просто вызвать Example::method('test'), а не \example\example\Example::method('test')


person Community    schedule 20.03.2015    source источник


Ответы (1)


В верхней части вашего файла объявите оператор использования, который создает псевдоним:

use example\example\Example;

Example::method('test'); //resolves to example\example\Example::('test')

Вы даже можете использовать другое имя с «как»:

use example\example\Example as MyAlias;

MyAlias::method('test'); //resolves to example\example\Example::('test')

См. http://php.net/manual/en/language.namespaces.importing.php для получения дополнительной информации.

Примечание. Это не то, как работают фасады laravel, но я думаю, что это то, что вы ищете. Если вы хотите что-то более автоматическое, чем псевдоним, вам придется включить некоторую логику в ваш автозагрузчик.

person user1842104    schedule 22.07.2015
comment
Да, это то, что я искал .... Я думаю. Я сам немного сбит с толку, прочитав свой вопрос 2 года спустя. Ясно, что тогда я не знал, что слева от права. - person ; 10.05.2017