使用__get/__ set而不是传统的getter/setter方法有什么好处,除了少量代码?

F_J*_*F_J 6 php get set magic-methods

来自Java,我只有几次假期访问PHP.看看魔术获取和设置方法,我(受Java影响)的肚子开始受到伤害:看起来好像是直接访问属性(当然,你实际上是在使用__get和__set).

所以 - 除了你需要编写的代码少之外,使用magic getter和setter方法代替传统的getX()/ setX()方法有什么好处吗?我应该在编写PHP时开始使用它们吗?

谢谢,最好!

mar*_*arc 1

__get__并且__set__是完全动态的。例如,如果调用数据库请求以启用延迟加载,您可以启动数据库请求。当然,您也可以使用 getter 和 setter 执行此操作,但每次都必须执行此操作。您还可以执行 AOP 之类的操作,因为每个属性调用都通过一个方法传递。因此,总而言之,__get__/__set__针对处理所需的时间提供了更大的灵活性。你可以用它做一些非常先进/很酷的事情。