__get和__set是通常用于解决难题而不是用作设计基础的神奇方法.
原文链接:https://www.f2er.com/php/240077.html例如,我发现自己处于一个项目,我必须分析一个使用OOP深度继承的网站(> 2),其中一个重要的基类有一个名为name的公共属性.但是,它还具有访问该属性的getter和setter(getName,setName),仅用于获取和设置它.许多类都调用了getName,并且直接访问了name属性!不是很棒的设计.
魔术方法允许我通过将属性重命名为_name并使其成为私有来解决问题,通过getter和setter强制所有对属性的请求.
这就是说,如果你只是像处理一个变量那样处理一个属性,就不需要getter和setter.在这种情况下,只需将该物业公之于众!
在您的情况下,由于正在进行验证/清理,您应该使用getter和setter并将它们直接编码为方法(而不是不必要地从魔术方法中产生开销).