Composer, en administrator for å installere avhengigheter i PHP-prosjekter

Noen dager siden lanseringen av den nye versjonen av Composer 2.0 ble kunngjort, som er administrator for å installere avhengigheter i PHP-prosjekter.

Komponer, skiller seg ut for å tillate til brukeren bestemme hvilke funksjonsbiblioteker som kreves for at prosjektet skal fungere, hvoretter det tar seg av arbeidet med å installere de manglende avhengighetene og oppdatere nye versjoner.

Bibliotekene som er tilgjengelige for installasjon er i Packagist-depotet, som inneholder mer enn 287 tusen pakker.

Om komponist

Composer er posisjonert som et avhengighetsinstallasjonssystem designet med npm og pakkeransvarlige for pakker i tankene i Node.js- og Ruby-fellesskapet.

Systemet driver pakker i forhold til spesifikke prosjekter og den er designet for å installere avhengigheter av lokale prosjektkataloger (som et alternativ er det også en global installasjonsmodus for hele systemet).

Som standard anbefales stabil installasjon av biblioteket, men det er også mulig å bruke eksperimentelle oppdateringer (alfa / beta) og øyeblikksbilder (øyeblikksbilder av utviklingskodebasen), som er nyttige for å organisere testbygg på kontinuerlige integreringssystemer.

Komponistkoden er skrevet i PHP og distribueres under MIT-lisensen.

Om den nye versjonen av Composer 2.0

I den nye versjonen store ytelsesoptimaliseringer er gjort og minneforbruket er redusert. Mye har blitt omarbeidet, fra protokollen til å ringe packagist.org ned til metoder for å bestemme avhengigheter.

Opplastingen er gitt i forskjellige metadatastrømmer og zip-filer, pluss modusen for parallellinstallasjon av pakker ble implementert. Optimaliseringer ble lagt til koden for beregninger. Ved å laste opp bare pakkemetadataene, kreves og / eller fjernes operasjoner og delvis oppdateringer blir betydelig fremskyndet. I noen prosjekter observeres en akselerasjon på opptil 50%.

Mekanismen for oppdatering av avhengigheter er omarbeidet, som er fri for bindinger til katalogens tilstand på det lokale filsystemet. Etter at oppdateringen er fullført, begynner installasjonsprosessen nå automatisk med den foreløpige kjøringen av alle operasjoner som krever nettverkstilgang.

Hvis du utfører nettverksoperasjoner før den faktiske installasjonen begynner, elimineres utseendet til ufullstendig oppdaterte kataloger i tilfelle nettverksfeil under installasjonsprosessen. Når det er mulig, er nettverksnedlastinger flertrådede.

Som standard et ekstra plattformverifiseringsstadium er lagt til til kjøretid ved initialisering av leverandør / autoload.php, hvilken sjekk at PHP-versjonen og utvidelsene brukt samsvarer med versjonene som støttes i avhengighetene. Hvis det er avvik, vises en feil.

Validering gjøres ved hjelp av den nye Composer \ InstalledVersions-klassen, som lastes inn for hvert prosjekt for å bestemme hvilke pakker og versjoner som er tilgjengelige i prosjektet.

I tillegg nevnes det at omarbeidede feilmeldinger relatert til avhengighetsdeteksjonsproblemer. Disse meldingene er kortere, tydeligere og med færre duplikater.

For å midlertidig begrense versjoner under oppdateringen, bruk konstruksjonen "Composer update vendor / package: 1.0. * ", Som ikke vil endre innholdet i blokken i" composer.json og vil ikke merke den låste filen som foreldet.

Av de andre endringene som skiller seg ut i denne nye versjonen:

  • Lagt til støtte for tidsbegrensede delvise oppdateringer, som kan brukes når du midlertidig trenger å oppdatere eller rulle tilbake en versjon av en pakke for å teste eller vente på en feilretting. Automatisk fjerning av pakker som ikke lenger er behov for er implementert.
  • Bare nye alternativer, ekskludere og kanoniske er lagt til depotet.
  • Nye hendelser ble lagt til før operasjoner, utførelse, oppretting før gruppe og fil etter nedlasting.
  • Et stort antall nye flagg er lagt til.

Til slutt, hvis du er interessert i å vite mer om denne nye versjonen, kan du konsultere detaljene I den følgende lenken.

På den annen side, hvis du vil konsultere dokumentasjonen, kan du gjøre det fra denne lenken.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.