Композитор, адміністратор для встановлення залежностей у PHP-проектах

Кілька днів тому було оголошено про запуск нової версії Composer 2.0, який є адміністратором для встановлення залежностей у PHP-проектах.

Композитор, виділяється тим, що дозволяє користувачеві визначити, які бібліотеки функцій потрібні щоб проект запрацював, після чого він подбає про роботу з встановлення відсутніх залежностей та оновлення нових версій.

Бібліотеки, доступні для встановлення, знаходяться у сховищі Packagist, яке містить понад 287 тис. Пакетів.

Про композитора

Композитор позиціонується як система встановлення залежностей розроблений з менеджерами пакунків npm та bundler на увазі у спільнотах Node.js та Ruby.

Система оперує пакетами стосовно конкретних проектів і він призначений для встановлення залежностей від локальних каталогів проектів (як варіант, існує також глобальний режим установки для всієї системи).

За замовчуванням пропонується стабільна інсталяція бібліотеки, але також можна використовувати експериментальні оновлення (альфа / бета) та знімки (знімки кодової бази розробки), які корисні для організації побудови тестів на системах безперервної інтеграції.

Код композитора написаний на PHP і поширюється за ліцензією MIT.

Про нову версію Composer 2.0

У новій версії були зроблені основні оптимізації продуктивності і споживання пам'яті було зменшено. Багато було перероблено, від протоколу до виклику Packagist.org аж до методів визначення залежностей.

Завантаження здійснюється в різних потоках метаданих та zip-файлах, а також був реалізований режим паралельної установки пакетів. До коду для розрахунків додані оптимізації. Завантажуючи лише метадані пакету, операції з вимогою та / або видалення та часткові оновлення значно пришвидшуються. У деяких проектах спостерігається прискорення до 50%.

Механізм оновлення залежностей перероблений, який не має прив’язок до стану каталогу в локальній файловій системі. Після завершення оновлення процес встановлення автоматично починається з попереднього виконання всіх операцій, що вимагають доступу до мережі.

Виконання мережевих операцій до початку фактичної інсталяції виключає появу не повністю оновлених каталогів у випадку збою мережі під час процесу інсталяції. По можливості мережеві завантаження багатопотокові.

За замовчуванням, додано додатковий етап перевірки платформи до часу виконання під час ініціалізації vendor / autoload.php, який переконайтесь, що версія PHP та розширення використовувані збігаються з версіями, що підтримуються в залежностях. Якщо є розбіжність, відображається помилка.

Перевірка проводиться за допомогою нового класу Composer \ InstalledVersions, який завантажується для кожного проекту, щоб визначити, які пакети та версії доступні в проекті.

Крім того, згадується, що перероблені повідомлення про помилки, пов'язані з проблемами виявлення залежностей. Ці повідомлення коротші, чіткіші та мають менше дублікатів.

Щоб тимчасово обмежити версії під час оновлення, використовуйте конструкцію "Постачальник / пакет оновлення Composer: 1.0. * ", Що не змінить вміст блоку в" composer.json і не позначить заблокований файл як застарілий.

З інших змін, які виділяються в цій новій версії:

  • Додана підтримка обмеженого в часі часткового оновлення, яке можна використовувати, коли потрібно тимчасово оновити або відкотити версію пакета для тестування або очікування виправлення помилки. Впроваджено автоматичне видалення пакунків, які більше не потрібні.
  • До сховища додані лише нові параметри, виключення та канонічні.
  • Нові події були додані перед операціями, виконанням, створенням попередньої групи та файлом після завантаження.
  • Додано велику кількість нових прапорів.

Нарешті, якщо ви хочете дізнатись більше про цю нову версію, ви можете переглянути деталі У наступному посиланні.

З іншого боку, якщо ви хочете ознайомитися з документацією, ви можете це зробити з цієї посилання.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.