PHP类中不存在的属性

时间:2015-02-26 15:39:27

标签: php class properties

PHP:

如果您实例化一个类,然后先读取或写入一个不存在的属性,该属性是否会添加到类对象或其所有对象中?

1 个答案:

答案 0 :(得分:1)

  1. 如果您尝试阅读,则不会添加属性。

  2. 新属性将仅添加到当前对象

  3. 测试脚本:

    $o1 = new stdClass();
    $o2 = new stdClass();
    $a = $o1->property; // PHP Notice:  Undefined property
    
    var_dump($o1); // class stdClass#1 (0) {}
    var_dump($o2); // class stdClass#2 (0) {}
    
    $o1->property = 'property';
    
    var_dump($o1); // class stdClass#1 (0) {public $property => string(8) "property" }
    var_dump($o2); // class stdClass#2 (0) {}
    
    $o3 = new stdClass();
    var_dump($o3); // class stdClass#3 (0) {}