调用没有命名空间的静态自动加载类

时间:2015-03-20 17:49:33

标签: php oop static namespaces

我想知道是否可以使用静态PHP类(或者该类的方法,我应该说)而不通过命名空间ala laravel调用它?

我意识到这与名称空间的性质相冲突,但我主要想要像Laravel那样使用它们,我只能调用Example::method('test')而不是\example\example\Example::method('test')

1 个答案:

答案 0 :(得分:2)

在文件的顶部,声明一个创建别名的use语句:

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外墙如何工作,但我认为这是你正在寻找的。如果你想要更自动的东西然后别名,你必须在你的自动加载器中加入一些逻辑。