我在使用命名空间中的常量时遇到了一些问题。如果我定义常量并尝试使用它,PHP 似乎无法找到它。例如,在我的带有常量的文件中,我的代码如下所示:
namespace \my\namespace\for\constants;
const DS = DIRECTORY_SEPARATOR;
然后在消费文件中我有:
namespace \some\other\namespace;
use \my\namespace\for\constants\DS as DS;
echo (realpath (DS . 'usr' . DS 'local'));
但是,我没有按预期回显“/usr/local”,而是收到以下通知和一个空字符串。
注意:使用未定义的常量 DS - 假定为“DS”
如果我将代码更改如下:
use \my\namespace\for\constants as cns;
echo (realpath (cns\DS . 'usr' . cns\DS 'local'));
我得到了预期的结果,但这显然比直接拉入常量要方便得多。
您可以在命名空间中为类/接口/特征起别名,您也不能为常量起别名吗?如果你能做到,那怎么做?