1.命名空间前不能接"";
namespace MyProjectSubLevel; // it's right; namespace MyProjectSubLevel; // it's wrong;
2.访问命名空间下的类/常量/函数是可以带""的,可以参考手册命名空间与动态语言特征
namespace namespacename; const constname = "namespaced"; echo constant(' amespacenameconstname'), " "; // prints namespaced echo constant('namespacenameconstname'), " "; // also prints namespaced
3.use引入类/常量/函数时,跟访问命名空间下的类/常量/函数一样,是可带可不带""的
namespace namespacename; use Exception; $a = new Exception('hi');
或者
namespace namespacename; use Exception; $a = new Exception('hi');
4.没有声明命名空间的地方统一用根作为命名空间,即""
5.在命名空间中调用别的命名空间,必须按照当前命名空间作为绝对或相对路径
namespace imageHandlerstamp; class Common extends imageHandlerDecorator { } //在imageHandlerstamp下调用上一层的Decorator,需要完整(绝对)路径:imageHandlerDecorator
6.基于字符串变量动态调用的类/常量/函数名,必须使用绝对路径
$o = 'Rules'; new $o();//如果Rules所在的命名空间不是根,这里的实例化将提示找不到该类