Нужно ли мне изменить файл autoload.php, чтобы композитор работал с Symfony?

Я использовал symfony vendors/install для обновления новых модулей. Я скачал модуль, но меня смущает композитор.

В моем файле deps у меня уже есть много новых пакетов, которые я загрузил.

  1. Теперь, если я использую композитор, как эти пакеты будут обновляться. Нужно ли мне конвертировать эквивалентный файл Deps для composer.json.
  2. Теперь мне также нужно изменить файл autoload.php для использования композитора.
  3. Если мне нужно установить новый пакет, мои старые пакеты останутся такими, какие они были установлены у поставщиков.

person Mirage    schedule 25.07.2012    source источник


Ответы (1)


Теперь, если я использую композитор, как эти пакеты будут обновляться. Нужно ли мне конвертировать эквивалентный файл Deps для composer.json.

Ваш файл deps необходимо преобразовать в composer.json.

composer.lock чем-то похож на deps.lock и генерируется автоматически. При запуске команды установки композитор будет использовать composer.lock для установки заблокированных версий. Выполнение команды update обновит пакеты и сохранит установленные версии в composer.lock.

Теперь мне также нужно изменить файл autoload.php для использования композитора.

Только если вы перейдете от использования скриптов поставщиков к composer. Вам нужно будет обновить файл app/autoload.php только один раз, чтобы включить файл, сгенерированный композитором. Посмотрите пример в symfony-standard (главная ветка ) или здесь.

Composer будет восстанавливать автозагрузчик каждый раз, когда вы запускаете команду установки или обновления.

person Jakub Zalas    schedule 25.07.2012
comment
но как насчет пространств имен, которые уже есть в старом autoload.php. у меня есть около 16 пространств имен, написанных там. что произойдет, если я не конвертирую старый файл deps в composer.json. Он что-то удалил, потому что я не знаю, как конвертировать - person Mirage; 26.07.2012
comment
Если вы хотите использовать композитор, вам нужно заменить файл deps на composer.json. Вы должны удалить все пространства имен, уже определенные в вашем autoload.php. Они не нужны, так как они будут обработаны композитором. - person Jakub Zalas; 26.07.2012
comment
есть ли какой-нибудь пример файла composer.json, который содержит некоторые дополнительные пакеты, чтобы я мог посмотреть, как они добавили дополнительные пакеты. то есть вы имеете в виду, что мне не нужно добавлять пространства имен, если я начну использовать композитор? - person Mirage; 26.07.2012
comment
Вы можете попробовать найти его (случайный результат из Google: gist.github.com/2488761), но это очень просто. Просто добавьте свои пакеты так же, как добавляли стандартные пакеты (см. примеры). Также. прочитайте документы для композитора здесь: getcomposer.org/doc ищите имена пакетов на packagist.org - person Jakub Zalas; 26.07.2012
comment
Я добавил tcpdf/tcpdf:"dev-master" в раздел require в composer.json и обновил композитор. Каталог создан, но как создать экземпляр tcpdf в AppKernel? - person Justin John; 26.09.2012