Composer, skrbnik za namestitev odvisnosti v PHP projekte

Pred nekaj dnevi napovedana je bila predstavitev nove različice Composer 2.0, ki je skrbnik za namestitev odvisnosti v PHP projekte.

skladatelj, izstopa, ker dovoljuje uporabniku določite, katere knjižnice funkcij so potrebne da projekt deluje, nato pa poskrbi za namestitev manjkajočih odvisnosti in posodabljanje novih različic.

Knjižnice, ki so na voljo za namestitev, so v repozitoriju Packagist, ki vsebuje več kot 287 tisoč paketov.

O skladatelju

Composer je postavljen kot sistem za namestitev odvisnosti zasnovan z upravitelji paketov npm in bundler v mislih v skupnostih Node.js in Ruby.

Sistem upravlja pakete v zvezi s posebnimi projekti zasnovan je za namestitev odvisnosti na lokalne imenike projektov (kot možnost obstaja tudi globalni način namestitve za celoten sistem).

Privzeto je predlagana stabilna namestitev knjižnice, vendar je mogoče uporabiti tudi eksperimentalne posodobitve (alfa / beta) in posnetke (posnetke razvojne kode), ki so koristni za organizacijo preizkusov gradnje sistemov za neprekinjeno integracijo.

Koda skladatelja je napisana v PHP in se distribuira pod licenco MIT.

O novi različici Composer 2.0

V novi različici narejene so bile večje optimizacije zmogljivosti in poraba pomnilnika se je zmanjšala. Veliko je bilo predelano, od protokola do klica Packagist.org do metod za določanje odvisnosti.

Nalaganje je na voljo v različnih tokovih metapodatkov in zip datotekah izveden je bil način vzporedne namestitve paketov. Kodi za izračune so dodane optimizacije. Če naložite samo metapodatke o paketu, se zahteva in / ali odstranitev operacij in delne posodobitve znatno pospešijo. Pri nekaterih projektih opazimo pospešek do 50%.

Mehanizem za posodabljanje odvisnosti je bil predelan, ki je brez vezav na stanje imenika v lokalnem datotečnem sistemu. Po končani nadgradnji se postopek namestitve samodejno začne s predhodnim izvajanjem vseh operacij, ki zahtevajo dostop do omrežja.

Izvajanje omrežnih operacij pred začetkom dejanske namestitve odpravi pojav nepopolno posodobljenih imenikov v primeru okvare omrežja med postopkom namestitve. Če je le mogoče, so omrežni prenosi večnitni.

Privzeto, doda se dodatna stopnja preverjanja platforme do časa izvajanja pri inicializaciji prodajalca / autoload.php, ki preverite, ali sta različica in razširitve PHP uporabljene ujemajo z različicami, ki so podprte v odvisnostih. Če pride do odstopanja, se prikaže napaka.

Preverjanje velja z novim razredom Composer \ InstalledVersions, ki se naloži za vsak projekt, da se ugotovi, kateri paketi in različice so na voljo v projektu.

Poleg tega je omenjeno, da so predelana sporočila o napakah povezana s težavami pri odkrivanju odvisnosti. Ta sporočila so krajša, jasnejša in z manj dvojniki.

Če želite začasno omejiti različice med posodobitvijo, uporabite konstrukt "Ponudnik / paket posodobitve Composerja: 1.0. * ", Kar ne bo spremenilo vsebine bloka v" composer.json in zaklenjene datoteke ne bo označilo kot zastarelo.

Od ostalih sprememb, ki izstopajo v tej novi različici:

  • Dodana podpora za časovno omejene delne posodobitve, ki se lahko uporabijo, ko morate začasno posodobiti ali povrniti različico paketa, da preizkusite ali počakate na odpravo napake. Izvedeno je samodejno odstranjevanje paketov, ki niso več potrebni.
  • V odlagališče so bile dodane samo nove možnosti, izključi in kanonično.
  • Novi dogodki so bili dodani pred operacijami, izvajanjem, ustvarjanjem pred skupino in datoteko po prenosu.
  • Dodanih je bilo veliko novih zastav.

Če vas zanima več o tej novi različici, si lahko ogledate podrobnosti V naslednji povezavi.

Če pa želite pregledati dokumentacijo, lahko to storite iz te povezave.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.