Композитор, администратор за инсталиране на зависимости в PHP проекти

Преди няколко дни стартира новата версия на Composer 2.0, който е администратор за инсталиране на зависимости в PHP проекти.

композирам, се откроява с това, че позволява на потребителя определете кои библиотеки от функции са необходими за да работи проектът, след което се грижи за работата по инсталиране на липсващите зависимости и актуализиране на нови версии.

Библиотеките, налични за инсталиране, са в хранилището Packagist, което съдържа над 287 хиляди пакета.

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

Composer е позициониран като инсталационна система за зависимост проектиран с npm и мениджъри на пакети предвид в общностите Node.js и Ruby.

Системата управлява пакети във връзка с конкретни проекти и е проектиран да инсталира зависимости на локални директории на проекти (като опция има и глобален режим на инсталация за цялата система).

По подразбиране се предлага стабилна инсталация на библиотека, но също така е възможно да се използват експериментални актуализации (алфа / бета) и моментни снимки (моментни снимки на кодовата база за разработка), които са полезни за организиране на тестови компилации върху системи за непрекъсната интеграция.

Кодът на композитора е написан на PHP и се разпространява под лиценза MIT.

Относно новата версия на Composer 2.0

В новата версия направени са основни оптимизации на производителността и консумацията на памет е намалена. Преработено е много, от протокола до обаждането на packagegist.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. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.