@Starche
Python/JS/PHP Tech Lead

Можно ли объединить компоненты Symfony, устанавливаемые через composer?

Начал использовать микрофреймворк Silex и, очевидно, к нему надо добавлять пакеты Symfony. После добавления в composer зависимостей и запуска install дерево каталогов стало выглядеть примерно так:
42f687ee18d3407084c5e01ed156685b.png
В связи с чем возник вопрос, можно ли Symfony/Components сделать общим родителем для всех установленных пакетов. Например как-то так:
vendor
   |- Symfony
      |- Components
          |- Config
          |- Console
          |- Debug
          .......
  • Вопрос задан
  • 2926 просмотров
Решения вопроса 1
нет, это разные пакеты composer'а
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
svscorp
@svscorp
Разные пакеты composer'a одного vendor'а стекаются в папке этого vendor'a. Не спроста они имеют формат: vendorName/packageName

Вот мой composer.json моего проекта на Silex:
{
    "require": {
        "silex/silex": "~1.2",
        "smarty/smarty": "dev-trunk",
        "cboden/Ratchet": "0.3.*",
        "react/zmq": "0.2.*",
        "doctrine/mongodb-odm": "1.0.0-BETA10",
        "neutron/mongo-odm-silex-provider": "*",
        "symfony/console": "2.6.*@dev"
    },
    "autoload": {
        "psr-0": {
            "Acme": "src/"
        }
    }
}


Вот контент папки vendor после выполнения комманды php composer.phar update:
svscorp@ubu14:/var/www/silex$ ls vendor/
autoload.php  cboden  composer  doctrine  evenement  guzzle  neutron  pimple  psr  react  silex  smarty  symfony


Вот содержание папки symfony:
console  debug  event-dispatcher  http-foundation  http-kernel  routing


Как видно отсюда, пакет console попал в папку вендора symfony. И он не попал в Component, т.к. не является компонентом пакета symfony =)

Т.е.:
* HTTPFoundation - это компонент пакета symfony vendor'a symfony (symfony/symfony)
* config или console - это пакет vendor'a symfony

Т.е. config мог бы быть в vendor/symfony/symfony/src/Symfony/Component/, если бы являлся компонентом пакета symfony/symfony. Но он является отдельным пакетом symfony.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы