【问题标题】:Calling static autoloaded class without namespace调用没有命名空间的静态自动加载类
【发布时间】:2015-05-24 05:34:38
【问题描述】:

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

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

【问题讨论】:

    标签: php oop static namespaces


    【解决方案1】:

    在文件的顶部,声明一个创建别名的 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 外观的工作方式,但我认为这是您正在寻找的。如果你想要更自动化的东西,那么你将不得不在你的自动加载器中加入一些逻辑。

    【讨论】:

    • 是的,这就是我要找的……我想。两年后阅读我的问题后,我自己有点困惑 - 当时显然不知道从左到右
    猜你喜欢
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    • 2017-11-03
    • 2021-06-29
    相关资源
    最近更新 更多