Zarządzanei pakietami w PHP
Lista dostępnych komend
composer list
Inicjalizacja projektu
composer init
Powyższa komenda inicjalizuje nowy projekt. Po jej wykonaniu zostanie utworzony plik compopser.json
, w którym znajdują się dane dotyczące projektu.
Instalacja istniejącego projektu
composer install
Powyższa komenda instaluje pakiety, które są niezbędne do działania aplikacji. Lista zainstalowanych wersji pakietów zapisywana jest w pliku composer.lock
.
Dodawanie biblioteki
composer require <vendor name>/<project name>
Przykład Instalacja biblioteki https://github.com/klein/klein.php:
composer require klein/klein
Bibliotekę możemy dodać również z flagą –dev
, co spowoduje dodanie zależności developerskiej.
composer require klein/klein –dev
Wersje developerskie pakietów nie muszą być instalowane na serwerze produkcyjnym:
composer install –no‐dev
Powyższa komenda zainstaluje pakiety tylko niezbędne do działania wersji produkcyjnej aplikacji.
Dodawanie własnej biblioteki
W pliku composer.json
dodajemy/edytujemy sekcję autoload
:
“autoload”: {
“psr‑4”: {
“App\\”: “src”
}
}
Dla powyższej konfiguracji w folderze src
należy umieścić własne biblioteki używane w aplikacji.
UWAGA Po dodaniu własnej biblioteki należy wywołać komendę:
composer dump‐autoload
Aktualizacja biblioteki
composer update <vendor name>/<project name>
Autoloading
W celu automatycznego ładowania bibliotek używamy instrukcji:
require_once __DIR__ . ‘vendor/autoload.php’;
Plik composer.json
Sekcja scripts
Właściwość scripts
w pliku composer.json
przechowuje zdarzenia jakie możemy wywołać przy pomocy komendy:
composer run <script>
Przykład
“scripts”: {
“server”: “php ‑S localhost:300”
}
composer run server
Powyższe polecenie uruchamia skrypt zdefiniowany w pliku composer.json
.
Sekcja config
W sekcji config
pliku composer.json może znaleźć się konfiguracja Composera jak również parametry konfiguracyjne aplikacji.
“config”: {
“process‐timeout”: 0
}
Powyższa deklaracja wyłącza domyślne zabijanie procesów (w tym serwera uruchomionego komendą composer run server
) po 300s.