【发布时间】:2015-04-29 01:49:30
【问题描述】:
PHP:
如果你实例化一个类,然后之前读取或写入一个不存在的属性,这个属性是添加到类对象还是相同的所有对象?
【问题讨论】:
-
只针对那个实例;并且读取不存在的属性不会向实例添加任何内容,只会设置属性
-
写入到不存在的属性会将该属性添加为新的
public $<propertyName>属性。非静态的,意思是:只针对那个实例。但尽可能避免这样做。预定义的属性比杂乱的属性更快,并且更不容易出错(想想$instance->name = 123; echo $instance->nmae; -
@EliasVanOotegem:有没有办法让 PHP 在这种情况下抛出错误(试图分配给不存在的属性)?就像VB.NET有一个
Option Explicit,用法略有不同,只是引用一个例子。 -
不知道,我已经 3 年没有写 PHP 了
标签: php class properties