Prestashop 安装和使用来自作曲家的供应商

Prestashop install and use vendor from composer

我正在开发 Prestashop (PS) 模块,但我想使用 composer 安装一些依赖项。

我在执行此任务时发现了一些问题。首先,如何在 vendor 里面包含 autoload class 来使用这个包?其次如何在我的模块中使用它?

你能举个例子吗?

只需在模块文件中包含 autoload.php 文件:

<?php

require_once('vendor/autoload.php');

class MyModule extends Module
{
   ...
}

由于您的模块文件将(并且应该)始终首先加载,所以这应该没问题。

我认为使用 composer autoload 的两个这样的模块之间不应该有任何冲突,因为生成的自动加载器具有唯一的 class 名称和 ComposerAutoload class 在注册期间使用自动加载器在该过程后以某种方式取消注册。

文件结构:

/modules/mymodule/mymodule.php
/modules/mymodule/composer.json
/modules/mymodule/vendor/autoload.php

编辑:

如果您正在制作自定义网站(不仅仅是模块),我建议您在根目录中使用单个 composer root:

/composer.json

然后我会在自定义配置文件中添加 require ../vendor/autoload.php(检查 /config/config.inc.php 加载了哪些自定义配置文件)