__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()
。