3

我需要重写一个magento核心模型。在那个核心模型类中,我只需要在一个函数中更改一行。

我的问题是当我重写这个核心模型时,我是否必须在我的新模型类中复制其他(未更改的)方法。还是我应该只重新定义需要修改的方法。

谢谢。

4

1 回答 1

4

将您的类从您要重写的类中扩展出来,并在其中定义您需要修改的方法,所有其他方法都可以被排除,因为只要范围内,对这些其他方法中的任何一个的调用都只会在原始父类之外运行不是私人的。

可能的最佳实践是从您的新方法(使用parent::yourMethodName($args))运行原始父方法,并仅修改发送到父方法或从父方法返回的数据,这使升级更加友好。失败只是复制和更改新类中的原始父方法。

于 2013-03-18T14:24:42.320 回答