Composer, administrator za instaliranje zavisnosti u PHP projektima

Prije nekoliko dana najavljeno je lansiranje nove verzije Composer 2.0, koji je administrator za instaliranje zavisnosti u PHP projektima.

kompozitor, izdvaja se po dopuštanju za korisnika odrediti koje su knjižnice funkcija potrebne da bi projekt funkcionirao, nakon čega se brine za posao instaliranja zavisnosti koje nedostaju i ažuriranja novih verzija.

Biblioteke dostupne za instalaciju nalaze se u spremištu Packagist, koje sadrži više od 287 hiljada paketa.

O kompozitoru

Composer je pozicioniran kao sistem instalacije ovisnosti dizajniran sa upraviteljima paketa npm i bundler na umu u zajednicama Node.js i Ruby.

Sistem upravlja paketima u vezi sa određenim projektima i dizajniran je za instaliranje ovisnosti o lokalnim direktorijima projekata (kao opcija, postoji i globalni način instalacije za cijeli sistem).

Po defaultu se predlaže stabilna instalacija biblioteke, ali također je moguće koristiti eksperimentalne nadogradnje (alfa / beta) i snimke (snimke razvojne baze kodova), koje su korisne za organiziranje izrade testova na sistemima kontinuirane integracije.

Skladateljski kôd napisan je na PHP-u i distribuira se pod MIT licencom.

O novoj verziji Composer 2.0

U novoj verziji izvršene su glavne optimizacije performansi a potrošnja memorije je smanjena. Puno je prerađeno, od protokola do poziva Packagist.org sve do metoda za određivanje zavisnosti.

Otpremanje je omogućeno u raznim tokovima metapodataka i zip datotekama implementiran je način paralelne instalacije paketa. Kodu za proračune dodane su optimizacije. Učitavanjem samo metapodataka paketa, zahtijevaju se i / ili uklanjaju operacije i djelomična ažuriranja značajno ubrzavaju. U nekim projektima se uočava ubrzanje do 50%.

Mehanizam za ažuriranje zavisnosti je prerađen, koji nije vezan za stanje direktorija na lokalnom sistemu datoteka. Nakon završetka nadogradnje, postupak instalacije sada automatski započinje preliminarnim izvršavanjem svih operacija koje zahtijevaju pristup mreži.

Izvođenje mrežnih operacija prije nego što stvarna instalacija započne eliminira pojavu nepotpuno ažuriranih direktorija u slučaju mrežnog kvara tijekom procesa instalacije. Kad god je to moguće, mrežna preuzimanja su s više niti.

Prema zadanim postavkama, dodata je dodatna faza verifikacije platforme do vremena izvođenja prilikom inicijalizacije dobavljača / autoload.php, koji provjerite jesu li PHP verzija i proširenja korišteno podudaranje sa verzijama podržanim u zavisnostima. Ako postoji neslaganje, prikazuje se greška.

Provjera valjanosti vrši se pomoću nove klase Composer \ InstalledVersions koja se učitava za svaki projekt da bi se utvrdilo koji su paketi i verzije dostupni u projektu.

Uz to se spominje da su prerađene poruke o greškama povezane s problemima otkrivanja ovisnosti. Te su poruke kraće, jasnije i s manje duplikata.

Da biste privremeno ograničili verzije tokom ažuriranja, upotrijebite konstrukciju "Dobavljač / paket ažuriranja Composer: 1.0. * ", Što neće promijeniti sadržaj bloka u" composer.json i neće označiti zaključanu datoteku kao zastarjelu.

Od ostalih promjena koje se ističu u ovoj novoj verziji:

  • Dodata je podrška za vremenski ograničena djelomična ažuriranja koja se mogu koristiti kada trebate privremeno ažurirati ili vratiti verziju paketa da biste testirali ili pričekali ispravak greške. Primijenjeno je automatsko uklanjanje paketa koji više nisu potrebni.
  • U spremište su dodane samo nove opcije, izuzeti i kanonski.
  • Novi događaji dodani su prije operacija, izvršavanja, stvaranja prije grupe i datoteke nakon preuzimanja.
  • Dodan je veliki broj novih zastava.

Napokon, ako ste zainteresirani da saznate više o ovoj novoj verziji, možete pogledati detalje Na sledećem linku.

S druge strane, ako želite pregledati dokumentaciju, možete to učiniti sa ovog linka.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.