【发布时间】:2014-08-18 11:54:05
【问题描述】:
今天我在 oops 中阅读常量,被一段代码弄糊涂了,无法弄清楚原因,代码如下:
<?php
class myClass1
{
const ID=1;
private $name;
public function get_name()
{
return $this->name ."<br>";
}
public function set_name($setName)
{
$this->name=$setName;
}
}
$myClass1_object = new myClass1();
$myClass1_object->ID=2;
print("<br>".$myClass1_object->ID);
?>
我想知道类对象(即 $myClass1_object->ID=2;)如何更改常量变量(即 const ID=1)的原因。在打印语句中我得到更新的值,即 2.
【问题讨论】:
-
这个内容正在被魔法改变
__set() -
您打印另一个字段(通过魔术方法访问它创建),而不是常量。使用以下语法访问常量:
myClass1::ID -
还有一件事。在课堂上使用 CONST 的目的是什么?毫无意义。你有静态属性
-
@turson 有些人是防静电的,因为他们是邪恶的。不过你可以使用定义