Composer to narzędzie służące do instalacji, konfiguracji i usuwania pakietów w danym projekcie opartym o język PHP. Z Composera korzysta większość gotowych rozwiązań np: Symfony, Magento, Doctrine. Dzięki Composerowi instalacja tak dużych środowisk jest bardzo prosta. Wszystko odbywa się automatycznie i nie musimy znać zależności pomiędzy różnymi modułami i bibliotekami. Listę składowych projektu tworzymy w formacie JSON, w pliku composer.json. Według tego schematu Composer sam wyszukuje w Internecie, instaluje i/lub aktualizuje składniki Twojego projektu.

INSTALACJA

Composer można pobrać i zainstalować za pomocą programu Composer-Setup.exe lub
z wiersza poleceń:

composer install

W katalogu instalacji powinien pojawić się plik composer.phar. Aby sprawdzić wersję Composera , przy okazji upewnić się, że wszystko gra, wykonaj polecenie:

 

KONFIGURACJA

Na wstępie tego artykułu wspomniałem o pliku composer.json i teraz go utworzymy. Plik ten powinien znajdować się w tym samym katalogu co composer.phar.

Podstawowy schemat:

  • require – definiuje listę wymaganych bibliotek / pakietów w naszym projekcie,
  • dostawca/pakiet – skrócona nazwa, np: doctrine/orm, twig/twig itp,
  • wersja – np: 1.0; aby zainstalować najnowszą wersję biblioteki użyj symbolu *

Poniższe polecenie zainstaluje wymagane pakiety w katalogu /vendor:

oraz utworzy plik composer.lock, w którym zostaną zapisane informacje o wersjach bibliotek. Przydatna właściwość. Wyobraź sobie sytuację, kiedy inna osoba sklonuje Twój projekt i zainstaluje składniki z composer.json bez tej blokady. Aplikacja może przestać działać lub sypać błędami, gdyż wersje plików mogą się od siebie różnić.

PRZYKŁAD

1. Przygotuj plik composer.json:

Pakiet Twig to system szablonów, który wykorzystamy do budowy prostej strony internetowej z wiadomością powitalną „Hello World!” 🙂

2. Wykonaj polecenie:

W katalogu projektu pojawił się podkatalog /vendor z biblioteką Twig oraz plik ładujący klasy: autoload.php.

3. Utwórz plik index.php w katalogu głównym projektu i wklej do niego poniższą zawartość:

Autoloader wczyta każdą bibliotekę zainstalowaną w katalogu /vendor, nie tylko Twiga 🙂
Aby wiedzieć, jak użyć Twiga na stronie skorzystałem z jego dokumentacji API 🙂
Jak widać, potrzebujemy jeszcze dwóch katalogów /templates – do przechowywania szablonów html, oraz cache – do tworzenia cache strony. Cache możesz na razie zakomentować, aby widzieć zmiany po odświeżeniu strony.

Do szablonu przekażemy wiadomość powitalną [’message’ => 'Hello World!’]. Klucz message będzie miał w szablonie postać: {{ message }}.

Oczywiście możesz przekazać więcej parametrów 🙂

4. Utwórz plik base.html (/templates/base.html):

Wyświetl stronę w przeglądarce i zobacz efekt swojej pracy.

AKTUALIZACJA PAKIETÓW

Aby zaktualizować pakiety wykonaj polecenie:

Przykład:

 

USUWANIE PAKIETÓW

Aby usunąć wybrany pakiet możesz to zrobić manualnie. Wystarczy, że wytniesz odpowiednią linię w pliku composer.json a następnie wykonasz polecenie:

Composer zaktualizuje zawartość Twojego projektu usuwając odpowiedni katalog z vendora.
Oczywiście jest jeszcze prostszy sposób 🙂

Więcej informacji znajdziesz na oficjalnej stronie getcomposer.org