2015-03-20 2 views
2

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

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

ответ

2

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

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 для получения дополнительной информации.

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

+0

Да, это то, что я искал .... Думаю. Я немного смутил себя после прочтения моего вопроса через 2 года. Очевидно, – tom

Смежные вопросы