【发布时间】:2015-05-24 05:34:38
【问题描述】:
我想知道是否可以使用静态 PHP 类(或该类的方法,我应该说)而不通过命名空间 ala laravel 调用它?
我意识到这与命名空间的性质相冲突,但我主要想像 Laravel 一样使用它们,我可以调用 Example::method('test') 而不是 \example\example\Example::method('test')
【问题讨论】:
标签: php oop static namespaces
我想知道是否可以使用静态 PHP 类(或该类的方法,我应该说)而不通过命名空间 ala laravel 调用它?
我意识到这与命名空间的性质相冲突,但我主要想像 Laravel 一样使用它们,我可以调用 Example::method('test') 而不是 \example\example\Example::method('test')
【问题讨论】:
标签: php oop static namespaces
在文件的顶部,声明一个创建别名的 use 语句:
use example\example\Example;
Example::method('test'); //resolves to example\example\Example::('test')
您甚至可以在“as”中使用不同的名称:
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 外观的工作方式,但我认为这是您正在寻找的。如果你想要更自动化的东西,那么你将不得不在你的自动加载器中加入一些逻辑。
【讨论】: