Когда вы создаете пакет для Composer, как вы загружаете зависимости?

Я сделал пакеты для NPM, и я знаю тренировку там. Вы просто перечислите свои зависимости, а затем require() их. Поиск узлов node_modules, находит посылку, загружает ее и все готово.

Как это работает в PHP, хотя? Моя зависимость PoParser. Я знаю, я могу просто сделать:

require __DIR__ . '/vendor/autoload.php';

Но когда я опубликую свой пакет, я не опубликую сторонний код зависимости, верно? мой пакет должен содержать только мой код. По крайней мере, так обстоит дело с NPM.

Так что, если у меня нет этого vendor папка, когда я публикую свою вещь. Как бы мне потребовалась моя зависимость? В узле, require() делает эту тяжелую работу. Как бы я сделал это здесь?

Вот моя структура папок, если это помогает:

vendor
/composer
...
/sepia
/po-parser
...
/src
/Sepia
...
// dependency classes
...
...
autoload.php
composer.json
composer.lock
MyThing.class.php
Other.class.php

1

Решение

Композитор с этим справится. Поместите свои зависимости внутри composer.json файл, и когда вам потребуется ваш проект, он также загрузит зависимости.

Взгляните на этот урок: https://dev.to/ahmedkhan/smart-guide-on-creating-a-complete-php-package-using-composer

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector