Буду рассказывать про правильную готовку Composer на Podlodka PHP Crew 27 февраля. Сразу за мной Дмитрий Дерепко из команды Yii3 расскажет «Инструменты для работы с кодом: код-стайл, зависимости, рефакторинг». В другие дни также очень интересные доклады.
Все заметки с тегом «Composer»
-
Готовим Composer @ Podlodka PHP Crew
21 февраля
-
composer для продакшна
2 февраля 2022
Продакшн можно разворачивать многими способами. Один из них — когда код попадает на сервер отдельно, а зависимости ставятся запуском
composer
уже на месте.В этом случае важно:
- Коммитить в репозиторий
composer.lock
. - Делать только
composer install
, ни в коем случае неupdate
. - Не забывать оптимизировать автозагрузку. Предпочтительней флагом
--classmap-authoritative
или соответствующей опцией вcomposer.json
. - Не забывать флаг
--no-dev
чтобы не ставить зависимости изrequire-dev
. - Указать ту же версию PHP, что используется на сервере, в platform.
- Коммитить в репозиторий
-
Composer: чем отличается require от require-dev
14 января 2020
В
require
добавляются зависимости, которые необходимы для работы пакета.В
require-dev
добавляются зависимости, которые нужны для разработки самого пакета. Например,phpunit/phpunit
. Опцияrequire-dev
являетсяroot-only
опцией, то есть она не читается и зависимости из неё не ставятся когда пакет устанавливается не напрямую, а как зависимость корневого пакета-проекта.То же можно сказать и о ряде других опций
composer.json
:autoload-dev
, куда стоит прописывать namespace для тестов.minimum-stability
.prefer-stable
.repositories
.config
.scripts
.
-
Ставим форк зависимости Composer вместо оригинала
14 апреля 2019
В ожидании вмерживания pull request хочется продолжать работать и дать работать коллегам. Сделать это в случае Composer не так сложно:
{ "minimum-stability": "dev", "repositories": [ { "type": "git", "url": "https://github.com/markuspoerschke/graph-composer.git" } ], "require": { "clue/graph-composer": "dev-add-options-to-exclude" } }
- Добавляем
repositories
, прописываем туда URL репозитория с форком. - В
require
меняем версию наdev-название-ветки
.
- Добавляем
-
Yii: релизный вторник
12 апреля 2019
Решил каждый вторник посвящать релизам Yii. Смотреть что бы нарелизить из официальных пакетов Yii и, собственно, релизить. Начну со следующей недели.
Первые несколько вторников обещают быть напряжёнными, но далее пойдёт лучше потому как мелкие частые релизы делать проще и понятней.
-
Yii, fxp и Asset packagist
12 августа 2016
Когда Composer ещё не стал стабильным, API его довольно часто менялось. Из за этого отваливались плагины. Одним из самых ярких примеров был постоянно ломавшийся
fxp/composer-asset-plugin
, используемый в Yii 2.0 и попивший немало крови. С релизом Composer проблема практически ушла, но к Yii 2.1, из за скорости установки и самой необходимости ставить плагин, было решено исследовать альтернативы. fxp, как и прежде, работает не быстро. -
Yii 2.0: не скачиваем клиентские пакеты
6 апреля 2016
При разработке Yii 2.0 мы сделали ошибку, включив в ядро по умолчанию клиентские пакеты вроде jQuery. В большинстве случаев это не доставляет проблем, но вот когда разрабатывается исключительно API, а пакеты всё-равно скачиваются и занимают место, возникает некое чувство дискомфорта.
В 2.1 мы попробуем это решить, а пока можно воспользоваться средствами Composer прописав следующее в своём главном
composer.json
:"provide": { "bower-asset/jquery": "*", "bower-asset/jquery.inputmask": "*", "bower-asset/punycode": "*", "bower-asset/yii2-pjax": "*" },
UPD: есть и в готовом виде: https://github.com/cebe/assetfree-yii2
-
Composer 1.0.0
5 апреля 2016
Состоялся стабильный релиз Composer-а. С beta-1 интересные изменения следующие:
install
автоматически делаетupdate
если нетcomposer.lock
.remove
удаляет зависимости.self-update
можно запустить с ключами--snapshot
,--preview
или--stable
чтобы получить обновления соответствующей стабильности.
Полный changelog есть на GitHub.
Анонс можно прочитать в блоге автора.
Всех поздравляю с этим замечательным событием. Инфраструктура PHP, наконец, добралась до stable ;)
-
Composer 1.0.0-beta1
4 марта 2016
Jordi Boggiano выпустил первую бета-версию Composer. Да, мы действительно до этого пользовались бесконечными альфа-версиями. Они работали, но иногда ломались.
Кроме того, что это может означать более стабильные релизы, добавились и новое возможности.
-
Как поставить расширение на Yii 2.0 без Composer
24 февраля 2015
Не первый раз спрашивают, как поставить расширение Yii 2.0 без Composer. Отвечаю.
Ставить будем yii2-imperavi-widget.
- Идём в https://github.com/vova07/yii2-imperavi-widget/releases, забираем архив.
- Смотрим его
composer.json
. - Там у нас есть секция autoload, в ней упоминание PSR-4 и
vova07/imperavi
. - Распаковываем файлы в
vendor/vova07/imperavi
. - В
vendor/composer/autoload_psr4.php
добавляем:
'vova07\\imperavi\\' => array($vendorDir . '/vova07/imperavi/src'),
- В
vendor/yiisoft/extensions.php
добавляем:
'vova07/imperavi' => array ( 'name' => 'vova07/imperavi', 'version' => '2', 'alias' => array ( '@vova07/imperavi' => $vendorDir . '/vova07/imperavi/src', ), ),
Всё это делает за вас Composer. Лучше изучите его и не теряйте время.