gpt4 book ai didi

Magento,魔术 setter/getter v getData

转载 作者:行者123 更新时间:2023-12-04 17:01:59 28 4
gpt4 key购买 nike

我已经使用 magento 有一段时间了,总是无法在使用魔法 getter 和 getData() 之间做出决定

除了轻微的性能开销(而且必须非常轻微)之外,有人可以解释主要区别吗?

我在思考:

  • future 代码证明(我认为 magento 2 不会使用魔法 setter/getter )
  • 风格
  • 业绩
  • 稳定性
  • 使用 1 而不是其他的任何其他原因

  • 基于核心代码没有明确的方法,因为它使用了两者的混合

    最佳答案

    没有适合所有情况的答案,最好根据您使用的模型和特定用例来决定。

    魔术方法的性能非常差,以及在每个访问器上从 CamelCase 转换为 under_score 的额外开销。

    无论如何,魔术方法基本上是 getData() 的包装器,具有额外的开销。

    但是,使用魔术方法有一个优点,例如:

    如果您使用 getAttributeName() 而不是 getData('attribute_name')

    在 future 的某个时候,模型可能会更新以包含一个真实的、具体的 getAttributeName() 方法,在这种情况下,您的代码仍然可以正常工作。但是,如果您使用了 getData(),则可以直接访问该属性,并绕过新方法,其中可能包括您要绕过的一些重要计算。

    关于Magento,魔术 setter/getter v getData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14440424/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com