答案 0 :(得分:1)
The scope of a constant is global。相反,$this
在整个应用程序中发生变化,因为它取决于上下文(即类)。
考虑这个简短的例子:
class A {
function printThis() { echo $this; }
}
class B {
function printThis() { echo $this; }
}
显然,$this
中的class B
与$this
中的class A
不同,因此根据定义,它不能是常量*。
*)编辑但是,在PHP中,存在magic constants根据上下文发生变化:
<?php
$line1 = __LINE__;
$line2 = __LINE__;
assert($line1 == $line2); // fails
所以我认为用户deceze summarized it pretty well in the comments:“ Meh,那是PHP。”