【发布时间】:2017-08-26 05:01:10
【问题描述】:
我不喜欢我的实体类上的每个属性都有“愚蠢的”getter 和 setter,所以我正在考虑使用魔术方法来获取/设置这些属性,而不是创建每个单独的 getter 和 setter。这个想法是在其逻辑与典型的“return $name”或“$this->name=$name”不同时创建一个特定的 getter 或 setter。此外,这个神奇的方法将在不同的类上创建,每个实体都会扩展它(我没有太多考虑这一步)
不管怎样,你觉得用魔法方法替换 getter/setter 怎么样?会不会对表演造成太大的惩罚?还有其他我没有考虑到的问题吗?
【问题讨论】:
-
Getters 和 Setters 允许你控制你的对象 API。你可能需要一个
setContainer,它只接受一个ContainerInterface对象作为参数,而使用魔法设置方法很难做到这一点。此外,它还允许您轻松添加或更改特定 getter/setter 的行为
标签: php symfony magic-methods