PHP观察者模式/魔术设定者/代理

时间:2011-02-07 10:29:48

标签: php proxy-classes magic-methods observer-pattern

我正在寻找一种方法来监控我班级中的变量何时被设置。

例如,如果我有以下类:

class MyClass  {
    public $myVariable;
} 

我的代码中的某处:

$class = new MyClass();
$class->myVariable = "value";

我希望能够“挂钩”到myVariable的setter中。所以当我打电话给$ class-> myVariable =“Value”时;过滤器将启动检查新值是否等于“值”,如果是,则抛出异常。

1 个答案:

答案 0 :(得分:2)

像往常一样将您的属性定义为私有或受保护。

然后使用魔术方法__set()来捕获访问权限。

祝你好运

拉​​斐尔