我已经使用magento已有一段时间了,始终无法在使用Magic getter和getData()之间做出选择。
除了轻微的性能开销(而且必须非常小)之外,有人可以解释一下主要区别。
我在想:
没有明确的方法可以基于核心代码,因为它使用了两者的混合体
最佳答案
我认为,最安全的方法是始终使用getData($key)
。神奇的 getter 使用的方法与您已经指出的相同。
好处是您可以在代码中找到对getData的所有引用,并在重构getData()
方法的情况下适本地对其进行更改。与之相比,必须找出所有魔术方法调用(它们总是以不同的方式命名)。
第二件事是,当您拥有一个以相同方式命名的方法时(我认为getName()让我获得了一次,并且调试花费了相当长的时间),魔术 getter 可以轻松地将您搞砸。
因此,我的投票肯定是使用getData()
的。
关于Magento,魔术获取者v getData,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14440424/