以下内容严重破坏了我的网站:
define('FOO', get_foo());
但是,以下工作正常:
define('FOO', 'BAR');
你不能在定义中使用函数,这不好。定义用于制作常量。常量不得更改,必须始终具有相同的值。函数,如 get_foo(),可以返回不同的值。Php 认为您想将可变值赋予常量。尝试将此函数放入变量的结果:
$foo = get_foo();
因为define()期望常量的值而不是函数的返回值:
常数的值;只允许标量和空值。标量值是整数、浮点数、字符串或布尔值。可以定义资源常量,但不建议这样做,这可能会导致不可预知的行为。