Квест → Как хакнуть форму
Прошли: 77
Изменений и улучшений много: посмотрите полный список изменений, если вам интересно прочитать все. В этой статье я выделю несколько ключевых моментов.
Мы пересмотрели почти все от протокола, используемого между Composer и packagist.org, до разрешения зависимостей, включая параллельную загрузку файлов с использованием curl и оптимизацию оценки ограничений. Это приводит к значительному улучшению как в скорости, так и в использовании памяти. Разница в производительности зависит от вашего варианта использования, поэтому, хоть я и видел отчеты об улучшениях более чем на 50% в некоторых проектах, назвать точную цифру не могу. Однако я уверен, если вы еще не пробовали Composer 2, то будете приятно удивлены.
В качестве дополнительного примечания к этому, require/remove
и частичные обновления теперь намного быстрее, потому что Composer будет загружать только метаданные изменяемых пакетов.
Время первоначального обновления + установки (новый проект, пустой кэш) занимает примерно на 60% меньше времени при использовании Composer 2 с включенным ext-curl
Когда вы создаете PHP-приложение или библиотеку, вы, как правило, имеете 3 вида зависимостей:
Все мы любим Composer. Он существенно изменил способ построения PHP приложений, основанных на небольших и повторно используемых компонентах, но это создает новые проблемы, особенно, когда у нас есть единая точка отказа. С помощью Satis, мы можем сделать процесс выкладки более устойчивым, добавив резервирование для всех потенциальных точек отказа (Packagist и GitHub). Давайте посмотрим, как это работает.
Монолитные репозитории предоставляют множество преимуществ. Я создал прототип Fiddler - дополнение для Composer, добавляющее управление зависимостями для монолитных репозиториев в PHP.
Composer является стандартом де-факто для управления зависимостями в PHP. Он прост, эффективен и уже стал вездесущ.
Каждый знает, что при использовании Composer вы просто создаёте файл composer.json
со списком зависимостей и их версий, а после запускаете composer install
и всё готово.
Потом вы коммитите composer.json
в ваш проект и каждый разработчик вашей команды может легко установить все небходимые зависимости запустив composer install
.
Конечно мы знаем и про composer update
, которая обновит установленные пакеты до последний версии (опираясь на указанные версии в composer.json
).
Это действительно просто. Но как насчёт файла composer.lock
, который генерируется в корне проекта? Зачем ? И что нам с ним делать ?