我打算记录对对象某些属性的任何修改。
PHP 有一种神奇的方法__set
可以重载任何从对象外部修改(私有)属性的尝试。
但是,这不适用于对象内部。PHP中是否有一种方法可以为任何修改对象的本地属性的调用提供通用的setter函数?
例子:
class Thing
{
private $data;
public function editData()
{
$this->data = 'edited';
}
function __magic($property, $value)
{
if ($property === 'data') {
print 'Data is being edited!';
}
}
}
我希望在编辑__magic
之前调用该函数。$data