Как Symfony рецепты Flex знают, какие пакеты устанавливать? - PullRequest
0 голосов
/ 06 января 2020

Я пытаюсь понять, как Symfony рецепты знают, какие пакеты устанавливать по пути.

Читая исходный код, мне кажется, что когда я запускаю

composer require twig

composer, имеющий в качестве плагина flex,

  1. ищет псевдоним twig
  2. и видит, что он зарегистрирован для рецепта symfony / twig-pack
  3. загружает рецепт и читает его манифест. json
  4. выполняет все действия, определенные в манифесте. json, такие как создание дополнительных файлов или добавление чего-либо в файлы

Но в манифесте я нигде не вижу. json для установки фактического пакета symfony / twig-pack.

Неявно ли это, что все рецепты имеют , чтобы поделиться своим именем с пакетом, который они устанавливают, и именно так composer знает, какой пакет установить?

Т.е. разработчик нельзя просто создать рецепт invented_company / nonexisting_package , который просто добавляет несколько файлов здесь и добавляет туда несколько строк, но на самом деле не соответствует пакету на packagist?

1 Ответ

1 голос
/ 06 января 2020

Существует описание создания рецептов.

В нем говорится

Рецепты должны храниться в своих собственных репозиториях, вне вашего Composer репозитория пакетов. Они должны следовать структуре каталогов vendor / package / version /, где version - минимальная версия, поддерживаемая рецептом.

https://github.com/symfony/recipes/blob/master/README.rst

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...