我目前正在学习php,并注意到教程中的一个好奇事实:
注意:
$this
是一个特殊变量无法分配。
不得为 constant 而不是变量?
而不能分配的对象。为什么这样做?
常数的范围是全局。相反,$this
在整个应用程序中都发生了变化,因为它取决于上下文(即类)。
考虑这个简短的例子:
class A {
function printThis() { echo $this; }
}
class B {
function printThis() { echo $this; }
}
显然,class B
中的$this
与class A
中的$this
不同,因此从定义上讲,它不能是常数*。
*)编辑:,但是,在PHP中存在根据上下文更改的魔法常数:
<?php
$line1 = __LINE__;
$line2 = __LINE__;
assert($line1 == $line2); // fails
所以我认为用户欺骗在评论中很好地总结了它:" meh,那是php。