Composer, un administrator pentru a instala dependențe în proiecte PHP

Acum cateva zile a fost anunțată lansarea noii versiuni a Composer 2.0, care este un administrator pentru a instala dependențe în proiecte PHP.

Compozitor, se remarcă prin faptul că permite utilizatorului determinați ce biblioteci de funcții sunt necesare pentru ca proiectul să funcționeze, după care se ocupă de instalarea dependențelor lipsă și actualizarea noilor versiuni.

Bibliotecile disponibile pentru instalare se află în depozitul Packagist, care conține peste 287 de mii de pachete.

Despre compozitor

Composer este poziționat ca un sistem de instalare de dependență proiectat cu manageri de pachete npm și bundler în minte în comunitățile Node.js și Ruby.

Sistemul operează pachete în legătură cu proiecte specifice și este conceput pentru a instala dependențe pe directoarele locale de proiect (ca opțiune, există și un mod global de instalare pentru întregul sistem).

În mod implicit, este sugerată instalarea stabilă a bibliotecii, dar este, de asemenea, posibil să se utilizeze actualizări experimentale (alfa / beta) și instantanee (instantanee ale bazei de cod de dezvoltare), care sunt utile pentru organizarea testelor bazate pe sisteme de integrare continuă.

Codul Composer este scris în PHP și este distribuit sub licența MIT.

Despre noua versiune a Composer 2.0

În noua versiune s-au făcut optimizări majore de performanță iar consumul de memorie a fost redus. Au fost refăcute multe, de la protocol la apelul packagist.org până la metode de determinare a dependențelor.

Încărcarea este furnizată în diverse fluxuri de metadate și fișiere zip, plus a fost implementat modul de instalare paralelă a pachetelor. Optimizările au fost adăugate la cod pentru calcule. Prin încărcarea numai a metadatelor pachetului, operațiile de solicitare și / sau eliminare și actualizările parțiale sunt accelerate semnificativ. În unele proiecte se observă o accelerare de până la 50%.

Mecanismul de actualizare a dependențelor a fost refăcut, care nu conține legături la starea directorului de pe sistemul de fișiere local. După finalizarea actualizării, procesul de instalare începe acum automat cu executarea preliminară a tuturor operațiunilor care necesită acces la rețea.

Efectuarea operațiunilor de rețea înainte de începerea instalării efective elimină apariția directoarelor incomplet actualizate în cazul unei defecțiuni a rețelei în timpul procesului de instalare. Ori de câte ori este posibil, descărcările din rețea sunt multi-thread.

În mod implicit, se adaugă o etapă suplimentară de verificare a platformei la runtime la inițializarea furnizor / autoload.php, care verificați dacă versiunea și extensiile PHP utilizate se potrivesc cu versiunile acceptate în dependențe. Dacă există o discrepanță, se afișează o eroare.

Validarea se face folosind noua clasă Composer \ InstalledVersions, care este încărcată pentru fiecare proiect pentru a determina ce pachete și versiuni sunt disponibile în proiect.

În plus, se menționează că mesaje de eroare refăcute legate de probleme de detectare a dependenței. Aceste mesaje sunt mai scurte, mai clare și cu mai puține duplicate.

Pentru a limita temporar versiunile în timpul actualizării, utilizați construcția "Compozitor actualizare furnizor / pachet: 1.0. * ", Care nu va schimba conținutul blocului din" composer.json și nu va marca fișierul blocat ca învechit.

Dintre celelalte modificări care se remarcă în această nouă versiune:

  • S-a adăugat suport pentru actualizări parțiale limitate în timp, care pot fi folosite atunci când trebuie să actualizați temporar sau să reveniți la o versiune a unui pachet pentru a testa sau aștepta o rezolvare a erorilor. Eliminarea automată a pachetelor care nu mai sunt necesare a fost implementată.
  • Doar opțiuni noi, excludere și canonice au fost adăugate în depozit.
  • Au fost adăugate evenimente noi înainte de operații, execuție, crearea pre-grup și fișierul post-descărcare.
  • Un număr mare de steaguri noi au fost adăugate.

În cele din urmă, dacă sunteți interesat să aflați mai multe despre această nouă versiune, puteți consulta detaliile În următorul link.

Pe de altă parte, dacă doriți să consultați documentația, o puteți face de la această legătură.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.