带有前导反斜杠的 PHP 常量在哪里结束



如果你想在PHP中定义一个命名空间的常量,你需要使用完整路径。

define('theNamespaceCONSTANT_NAME',42);
echo theNamespaceCONSTANT_NAME, "n";

如果您不小心包含前导反斜杠,PHP 将不会定义该常量。

define('theNamespaceCONSTANT_NAME',42);
echo theNamespaceCONSTANT_NAME, "n";
#PHP Fatal error:  Undefined constant 'theNamespaceCONSTANT_NAME'

但是,define函数不会抱怨以后的用法。 这个theNamespaceCONSTANT_NAME常量最终会通过 PHP 访问到任何地方,还是价值只是在以太的某个地方丢失了?

它进入定义的常量数组。我的猜测是除了调用 get_defined_constants() 之外没有其他方法可以查找它

define('theNamespaceCONSTANT_NAME',42);
echo get_defined_constants()['theNamespaceCONSTANT_NAME'];

最新更新