Symfony、getter 和 setter 与魔术方法

alv*_*mfg 5 php magic-methods symfony

我不喜欢为实体类上的每个属性使用“愚蠢”的 getter 和 setter,因此我正在考虑使用魔术方法来获取/设置这些属性,而不是创建每个单独的 getter 和 setter。这个想法是当其逻辑与典型的“return $name”或“$this->name=$name”不同时创建特定的 getter 或 setter。此外,这个神奇的方法将在不同的类上创建,并且每个实体都会扩展它(我没有对这一步考虑太多)

无论如何,您对用魔术方法替换 getter/setter 有何看法?它会对性能造成太多惩罚吗?还有其他我没有考虑到的问题吗?

Laz*_*nts 1

在这种情况下,IDE 中的代码完成功能将不起作用。此外,您将无法为对象和数组进行类型提示,也无法使用文档块进行类型提示。性能会变慢,但根据您的项目(服务器硬件和用户数量),您可能不会看到任何差异