【发布时间】:2015-04-27 12:49:50
【问题描述】:
<?php
class Test{
public $test_1, $test_2;
}
$object = new Test();
$object->test_1 = "THIS IS A TEST";
$object->test_2 = "THIS IS A TEST 2";
$object->test_3 = "THIS IS A TEST 3";
var_dump($object);
如您所见,我没有名为 test_3 的变量。但我没有收到错误。它运行良好。为什么?这是我得到的输出。
object(Test)#1 (3) {
["test_1"]=>
string(14) "THIS IS A TEST"
["test_2"]=>
string(16) "THIS IS A TEST 2"
["test_3"]=>
string(16) "THIS IS A TEST 3"
}
【问题讨论】:
-
您可以在 PHP 中动态创建成员变量
-
您设置了一个新变量。在这个社区问问题...
-
@JohnConde,有什么办法可以限制吗?
-
是的。您可以覆盖 __set() 魔术方法并使其出错。让我看看能不能举个例子。
-
@eddard.stark John 在下面为您发布了答案。
标签: php class class-members