好的,这是一个愚蠢的问题,但我不能想到它是愚蠢的确切原因。
在php中定义类级别常量时,如:
const MY_CONSTANT = 'hello constant';
为什么不能使用
等函数初始化此值const MY_FILEPATH = dirname(dirname(__FILE__)) . '/heres-my-file.php';
答案 0 :(得分:18)
简而言之:解析时会替换常量,但在解释时会执行函数。解析器根本无法知道它应该设置内容的值。
答案 1 :(得分:1)
常量是不可变的。因此,如果函数可以改变常量的值,那么它就不会是常数。