PHP 观察者模式/魔法设置者/代理
我正在寻找一种方法来监视类中的变量何时被设置。
例如,如果我有以下类:
class MyClass {
public $myVariable;
}
在我的代码中的某个地方我这样做:
$class = new MyClass();
$class->myVariable = "value";
我希望能够“挂钩”到 myVariable 的设置器中。所以当我调用 $class->myVariable = "Value"; 时将启动一个过滤器来检查新值是否等于“Value”,如果是,则抛出异常。
I'm looking for a way to monitor when a variable in my class gets set.
For example if I have the following class:
class MyClass {
public $myVariable;
}
And somewhere in my code I do:
$class = new MyClass();
$class->myVariable = "value";
I would like to be able to "hook" into the setter of myVariable. So when I call $class->myVariable = "Value"; a filter would start that checks if the new value equals "Value" and if so, throws an Exception.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
像往常一样将您的属性定义为私有或受保护。
然后使用魔术方法 __set()< /a> 捕获访问。
最好的问候
拉斐尔
define your attribute as private or protected, as usual.
Then use the magic method __set() to catch the access.
Best regards
Raffael