我一直试图创建一个简单的类,将默认属性值定义为类常量放在类定义顶部。
然而,我的代码似乎没有在构造函数中将常量的值分配给属性。
运行上述代码将产生以下结果:
我无法理解为什么我不能在构造函数中将预定义的、常量默认值赋给属性。
class Tester {
const DEFAULT_VAL = 500;
private $val;
public function __construct() {
$val = self::DEFAULT_VAL;
}
public function show_val() {
echo "DEFAULT_VAL is " . self::DEFAULT_VAL . "<br />";
echo "val is " . $val;
}
}
$obj = new Tester();
$obj->show_val();
运行上述代码将产生以下结果:
const is 500
val is
我无法理解为什么我不能在构造函数中将预定义的、常量默认值赋给属性。