namespace NS; define(__NAMESPACE__ .'foo','111'); define('foo','222'); echo foo; // 111. echo foo; // 222. echo NSfoo // 111. echo NSfoo // fatal error. assumes NSNSfoo.
define声明的常量 不受命名空间的影像
命名空间的常量应该用const
<?php namespace aab; class abc{ const abc = 'abc'; } class ghi{ const ghi = 'ghi'; } namespace ffdd; class def { const def = 'fde'; } class abc{ const abc = 'ddabc'; } use aab; //空间引入 echo abc::abc; //ddabc //work echo bbabc::abc; //abc //work use aabghi; // === use aabghi as ghi echo ghi::ghi; //ghi //use aababc; //元素引入必须是类,且不能和当前空间相同的类 //error use aababc as abc2; echo abc2::abc; //abc