例如,我的根命名空间是myns
,其中都是帮助程序类。所有控制器都有myns\controllers
命名空间。
我想在所有myns
类中默认使用myns\controllers
命名空间,避免使用很多
use myns\classname;
开头的声明。
这可能吗?
答案 0 :(得分:1)
没有。 “默认命名空间”由namespace
建立,而不是use
。您有两种选择:
切换命名空间:
namespace myns\controllers {
class Foo {}
}
namespace myns {
use myns\controllers\Foo;
new Foo; // above Foo class
new Bar; // myns\Bar class
}
Use
一个缩短的句柄:
use myns as m;
new m\Bar; // myns\Bar
实际上,在理智的代码中,你不应该从其他名称空间中获得吨的东西use
;显式别名文件顶部的一小部分(比如说,最多十几个)函数和类是非常正常的。一个体面的IDE可以在您键入时自动生成这些use
语句。