Composer, en administratör för att installera beroenden i PHP-projekt

Några dagar sen lanseringen av den nya versionen av Composer 2.0 tillkännagavs, som är en administratör för att installera beroenden i PHP-projekt.

Samman, sticker ut för att tillåta till användaren bestämma vilka funktionsbibliotek som krävs för att projektet ska fungera, varefter det tar hand om arbetet med att installera de saknade beroenden och uppdatera nya versioner.

Biblioteken tillgängliga för installation finns i Packagist-arkivet, som innehåller mer än 287 tusen paket.

Om kompositör

Composer är positionerat som ett beroendesystem utformad med npm och paketledare för paketerare i åtanke i Node.js- och Ruby-gemenskaperna.

Systemet driver paket i förhållande till specifika projekt och det är utformat för att installera beroenden på lokala projektkataloger (som ett alternativ finns det också ett globalt installationsläge för hela systemet).

Som standard föreslås stabil biblioteksinstallation, men det är också möjligt att använda experimentella uppdateringar (alfa / beta) och ögonblicksbilder (ögonblicksbilder av utvecklingskodbasen), som är användbara för att organisera testbyggnader på kontinuerliga integrationssystem.

Kompositörskoden är skriven i PHP och distribueras under MIT-licensen.

Om den nya versionen av Composer 2.0

I den nya versionen stora prestandaoptimeringar har gjorts och minnesförbrukningen har minskat. Mycket har omarbetats, från protokollet till call packagist.org ner till metoder för att bestämma beroenden.

Uppladdningen tillhandahålls i olika metadataströmmar och zip-filer, plus läget för parallell installation av paket implementerades. Optimeringar har lagts till i koden för beräkningar. Genom att bara ladda upp paketets metadata, krävs och / eller tas bort operationer och partiella uppdateringar påskyndas avsevärt. I vissa projekt observeras en acceleration på upp till 50%.

Mekanismen för uppdatering av beroenden har omarbetats, som är fri från bindningar till katalogens tillstånd i det lokala filsystemet. Efter att ha slutfört uppdateringen börjar installationsprocessen nu automatiskt med det preliminära utförandet av alla åtgärder som kräver nätverksåtkomst.

Genom att utföra nätverksoperationer innan den faktiska installationen börjar elimineras uppkomsten av ofullständigt uppdaterade kataloger i händelse av ett nätverksfel under installationen. När det är möjligt är nätverksnedladdningar flera trådar.

Som standard, ytterligare ett plattformsverifieringssteg läggs till till körtid vid initialisering av leverantör / autoload.php, vilken kontrollera att PHP-versionen och tilläggen används matchar de versioner som stöds i beroenden. Om det finns en avvikelse visas ett fel.

Valideringen görs med den nya klassen Composer \ InstalledVersions, som laddas för varje projekt för att bestämma vilka paket och versioner som finns tillgängliga i projektet.

Dessutom nämns det omarbetade felmeddelanden relaterade till beroendeproblem. Dessa meddelanden är kortare, tydligare och med färre dubbletter.

För att tillfälligt begränsa versioner under uppdateringen, använd konstruktionen "Composer update leverantör / paket: 1.0. * ", Vilket inte kommer att ändra blockets innehåll i" composer.json och inte markera den låsta filen som föråldrad.

Av de andra förändringarna som sticker ut i den här nya versionen:

  • Lagt till stöd för tidsbegränsade partiella uppdateringar, som kan användas när du behöver tillfälligt uppdatera eller rulla tillbaka en version av ett paket för att testa eller vänta på en bug fix. Automatisk borttagning av paket som inte längre behövs har implementerats.
  • Endast nya alternativ, exkludera och kanoniska har lagts till i förvaret.
  • Nya händelser lades till före operationer, körning, skapande före gruppen och efter nedladdning.
  • Ett stort antal nya flaggor har lagts till.

Slutligen, om du är intresserad av att veta mer om den här nya versionen, kan du konsultera detaljerna I följande länk.

Å andra sidan, om du vill läsa dokumentationen kan du göra det från den här länken.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.