如果要在PHP中定义命名空间常量,则需要使用完整路径。
define('theNamespace\CONSTANT_NAME',42);
echo theNamespace\CONSTANT_NAME, "\n";
如果您不小心包含了反斜杠,PHP 将不会定义常量。
define('\theNamespace\CONSTANT_NAME',42);
echo theNamespace\CONSTANT_NAME, "\n";
#PHP Fatal error: Undefined constant 'theNamespace\CONSTANT_NAME'
但是,define
函数不会抱怨以后的用法。这个\theNamespace\CONSTANT_NAME
常量是否可以通过PHP访问任何地方,或者某个地方的以太丢失了值?
答案 0 :(得分:1)
它进入定义的常量数组。我的猜测除了调用get_defined_constants()
之外没有其他方法可以查找define('\theNamespace\CONSTANT_NAME',42);
echo get_defined_constants()['\theNamespace\CONSTANT_NAME'];