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
加载了哪些自定义配置文件)
我正在开发 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
加载了哪些自定义配置文件)