__set()
是 PHP 中的一个魔术方法(magic method),用于在对象中动态设置属性值。它适用于以下对象:
__set()
方法会被调用。class MyClass {
public function __set($name, $value) {
echo "Setting property '$name' to '$value'\n";
}
}
$obj = new MyClass();
$obj->newProperty = "Hello, World!"; // 调用 __set() 方法
__set()
方法会被调用。class ParentClass {
public function __set($name, $value) {
echo "Setting property '$name' to '$value'\n";
}
}
class ChildClass extends ParentClass {
}
$obj = new ChildClass();
$obj->newProperty = "Hello, World!"; // 调用父类的 __set() 方法
需要注意的是,__set()
方法只适用于对象的属性,而不适用于静态属性。要设置静态属性,你需要使用静态方法 __set_state()
。