Prestashop 1.7.x模块架构做对了,怎么样?

Prestashop 1.7.x module architecture done right, how to?

我创建了 2 个模块,它们都在同一个 class ( Customer ) 上使用覆盖来添加 DB 额外数据表示。第二个模块给我一个错误,因为 class 已经被第一个模块覆盖了。 两个模块都有一个“/override/classes/”路径。 我解决了合并第一个模块上的所有覆盖并将其从第二个模块中剥离的问题。

但是在编写使用覆盖的模块之前正确的处理方式是什么?

  1. 我是否应该管理所有需要的覆盖,将它们放在文件系统的“/override”文件夹中,从模块文件夹中删除覆盖?
  2. 我是否应该创建一个模块来管理所有 classes 覆盖,从其他模块文件夹中删除覆盖?
  3. 或者……什么?

提前感谢您的指点。 我最好的, 丹妮尔 M

其实全看你的需求了:

  • 如果您需要相同的覆盖,但不是相同的功能,那么这将不是问题
  • 如果您需要相同的覆盖但需要相同的功能,那么您确实必须将它们合并为一个

无论如何,尽量支持 Hooks,而不是 overides,这样更干净并且在安装过程中产生的麻烦更少。

亲切