Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:默认情况下在子命名空间类中使用父命名空间_Php_Namespaces - Fatal编程技术网

PHP:默认情况下在子命名空间类中使用父命名空间

PHP:默认情况下在子命名空间类中使用父命名空间,php,namespaces,Php,Namespaces,例如,我的根命名空间是myns,其中包含所有帮助器类。有myns\controllers名称空间,其中包含所有控制器 默认情况下,我想在所有myns\controllers类中使用myns名称空间,以避免许多 使用myns\classname 开始时的声明 可能吗?否。“默认名称空间”是由名称空间建立的,而不是使用。您有两个选择: 切换命名空间: namespace myns\controllers { class Foo {} } namespace myns { use m

例如,我的根命名空间是
myns
,其中包含所有帮助器类。有
myns\controllers
名称空间,其中包含所有控制器

默认情况下,我想在所有
myns\controllers
类中使用
myns
名称空间,以避免许多

使用myns\classname

开始时的声明

可能吗?

否。“默认名称空间”是由
名称空间
建立的,而不是
使用
。您有两个选择:

  • 切换命名空间:

    namespace myns\controllers {
        class Foo {}
    }
    
    namespace myns {
        use myns\controllers\Foo;
    
        new Foo;  // above Foo class
        new Bar;  // myns\Bar class
    }
    
  • 使用缩短的手柄:

    use myns as m;
    
    new m\Bar;  // myns\Bar
    

  • 实际上,在理智的代码中,你不应该有太多你将要使用的来自其他名称空间的东西;在文件顶部显式地给一小部分函数和类添加别名(比如,多达十几个)是很正常的。一个像样的IDE可以在你打字时自动生成那些
    使用
    语句。

    是的,我知道IDE可以让我的生活更轻松,但我认为这将是一个很棒的功能。