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可以让我的生活更轻松,但我认为这将是一个很棒的功能。