Prestashop 1.7为模块和覆盖控制器创建新类

时间:2017-11-02 06:06:10

标签: class module controller override prestashop

我从prestashop开始,我的代码中存在组织问题。我创建了几个模块和新表。我还覆盖了我想要使用我的表的myprestashop / override /文件夹中的控制器,所以我必须创建新的类。但我不知道在prestashop中创建类的位置,因为我的模块中的访问权限与覆盖的控制器一样多。

现在,我在我的模块中,在我的覆盖控制器中调用我的类。虽然我知道它不是正确的解决方案。

require_once _PS_MODULE_DIR_.'my_module/classes/MyNewClass.php'

有人会有答案吗? 谢谢!!

2 个答案:

答案 0 :(得分:0)

您的方式是可接受的解决方案,因为PrestaShop没有自定义类的自动加载功能。

但是,我喜欢在模块中使用Composer,并为我的类和模块可能需要的任何库使用autoloading功能。

答案 1 :(得分:0)

我注意到以下方案在1.7.6版本中也适用,但是我会请经验丰富的开发人员指出这是否正确。

我将自定义类文件放入/override/classes文件夹中:

namespace CustomNamespace;

class CustomClass {
...
}

然后在其他地方,我只使用类:

use \CustomNamespace\CustomClass;

我的CustomClass可以正常工作