即使我没有这个变量,当我访问它时,我也没有收到错误

时间:2015-04-27 12:49:51

标签: php class class-members

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"
}

正如您所看到的,我没有一个名为test_3的变量。但我没有收到错误。它工作得很好。为什么?这是我得到的输出。

ng-repeat

1 个答案:

答案 0 :(得分:4)

在PHP中,您可以动态创建公共成员变量。如果你想阻止这种情况,你可以重载__set() magic method并在有人试图这样做时抛出异常:

class Test{
    public $test_1, $test_2;

    public function __set($name, $value) {
        throw new \Exception('You cannot do this!');
    }
}