Многоцелевой установке и использовании поставщика от композитора

Многоцелевой установке и использовании поставщика от композитора

12.11.2015 10:28:42 Просмотров 61 Источник

Я разрабатываю модуль Prestashop (PS), но я хочу использовать composer для установки некоторых зависимостей.

Я нашел некоторые проблемы для выполнения этой задачи. Прежде всего, как включить класс autoload внутри поставщика, чтобы использовать пакет? а во-вторых, как использовать его в моем модуле?

Не могли бы вы привести мне пример?

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/33679679/prestashop-install-and-use-vendor-from-composer#comment58763319_33679679
Я полагаю, что вы включили Prestashop в качестве композитора. Не могли бы вы немного объяснить, как вы это сделали? Спасибо.
https://stackoverflow.com/questions/33679679/prestashop-install-and-use-vendor-from-composer#comment59029807_33679679
Нет, я просто использую автономную установку prestashop.

Ответы - Многоцелевой установке и использовании поставщика от композитора / Prestashop install and use vendor from composer

Является ответом!
gskema

15.11.2015 04:13:14

Просто включите autoload.phpфайл в вашем файле модуля:

<?php

require_once('vendor/autoload.php');

class MyModule extends Module
{
   ...
}

Поскольку ваш файл модуля будет (и должен быть) всегда загружаться первым, это должно быть нормально.

Я считаю, что не должно быть никаких конфликтов между двумя такими модулями, которые используют composer autoload, потому что сгенерированные автозагрузчики имеют уникальные имена классов, А ComposerAutoload

Редактировать:

Если вы создаете пользовательский сайт (а не только модуль), я бы посоветовал использовать single composer root в корневом каталоге:

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

Тогда я бы добавил /composer.json в пользовательский файл конфигурации (проверка require ../vendor/autoload.php , какие пользовательские конфигурационные файлы загружаются)

Помочь в развитии проекта:
Закрыть X