Composer, administrator do instalowania zależności w projektach PHP

Kilka dni temu zapowiedziano uruchomienie nowej wersji Composera 2.0, który jest administratorem do instalowania zależności w projektach PHP.

Komponować, wyróżnia się na przyzwolenie dla użytkownika określić, które biblioteki funkcji są wymagane aby projekt działał, po czym zajmuje się instalacją brakujących zależności i aktualizacją nowych wersji.

Biblioteki dostępne do instalacji znajdują się w repozytorium Packagist, które zawiera ponad 287 tysięcy pakietów.

O kompozytorze

Composer jest pozycjonowany jako system instalacji zależności zaprojektowany z menedżerami pakietów npm i bundler w społecznościach Node.js i Ruby.

System obsługuje pakiety w odniesieniu do konkretnych projektów i jest przeznaczony do instalowania zależności w lokalnych katalogach projektów (jako opcja istnieje również globalny tryb instalacji dla całego systemu).

Domyślnie sugerowana jest stabilna instalacja biblioteki, ale możliwe jest również użycie eksperymentalnych aktualizacji (alfa / beta) i migawek (migawek kodu programistycznego), które są przydatne do organizowania kompilacji testowych w systemach z ciągłą integracją.

Kod Composer jest napisany w PHP i jest rozpowszechniany na licencji MIT.

O nowej wersji Composer 2.0

W nowej wersji dokonano poważnych optymalizacji wydajności i zużycie pamięci zostało zmniejszone. Wiele zostało przerobionych, od protokołu do wywołania packagist.org aż do metod określania zależności.

Przesyłanie jest dostarczane w różnych strumieniach metadanych i plikach zip, a także wdrożono tryb równoległej instalacji pakietów. Do kodu dodano optymalizacje do obliczeń. Przesyłając tylko metadane pakietu, operacje żądania i / lub usuwania oraz częściowe aktualizacje są znacznie przyspieszone. W niektórych projektach obserwuje się przyspieszenie do 50%.

Przerobiono mechanizm aktualizacji zależności, który jest wolny od powiązań ze stanem katalogu w lokalnym systemie plików. Po zakończeniu aktualizacji proces instalacji rozpoczyna się teraz automatycznie od wstępnego wykonania wszystkich operacji, które wymagają dostępu do sieci.

Wykonywanie operacji sieciowych przed rozpoczęciem właściwej instalacji eliminuje pojawienie się niekompletnie zaktualizowanych katalogów w przypadku awarii sieci podczas procesu instalacji. Jeśli to możliwe, pobieranie z sieci odbywa się wielowątkowo.

Domyślnie, dodawany jest dodatkowy etap weryfikacji platformy do środowiska uruchomieniowego podczas inicjowania vendor / autoload.php, który sprawdź, czy wersja PHP i rozszerzenia używane pasują do wersji obsługiwanych w zależnościach. W przypadku rozbieżności wyświetlany jest błąd.

Walidacja jest wykonywana przy użyciu nowej klasy Composer \ InstalledVersions, która jest ładowana dla każdego projektu w celu określenia, jakie pakiety i wersje są dostępne w projekcie.

Ponadto wspomniano, że przerobiono komunikaty o błędach związane z problemami z wykrywaniem zależności. Te wiadomości są krótsze, wyraźniejsze i zawierają mniej duplikatów.

Aby tymczasowo ograniczyć wersje podczas aktualizacji, użyj konstrukcji „Dostawca / pakiet aktualizacji Composera: 1.0. * ”, Co nie zmieni zawartości bloku w pliku„ composer.json ”i nie spowoduje oznaczenia zablokowanego pliku jako przestarzałego.

Spośród innych zmian, które wyróżniają się w nowej wersji:

  • Dodano obsługę ograniczonych czasowo częściowych aktualizacji, których można użyć, gdy trzeba tymczasowo zaktualizować lub wycofać wersję pakietu, aby przetestować lub poczekać na naprawę błędu. Zaimplementowano automatyczne usuwanie pakietów, które nie są już potrzebne.
  • Do repozytorium dodano tylko nowe opcje, wykluczanie i kanoniczne.
  • Nowe zdarzenia zostały dodane przed operacjami, wykonaniem, utworzeniem przed grupowaniem i plikiem po pobraniu.
  • Dodano dużą liczbę nowych flag.

Wreszcie, jeśli chcesz dowiedzieć się więcej o tej nowej wersji, możesz zapoznać się ze szczegółami W poniższym linku.

Z drugiej strony, jeśli chcesz zapoznać się z dokumentacją, możesz to zrobić z tego linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.