Dlaczego warto używać Composera?
Composer jest to narzędzie do zarządzania zależnościami w projekcie. Dzięki niemu możemy w prosty sposób dokładać biblioteki do projektu w określonej wersji i je łatwo aktualizować. Composer domyślnie instaluje biblioteki w katalogu vendor. Aby zacząć korzystać z composera należy go pobrać ze strony https://getcomposer.org/download/
Mając paczkę z composerem możemy go uruchomic poleceniem php composer.phar
Jeżeli pracujesz na windowsie polecam odpalenie konsoli i wpisanie polecenia:
echo @php "%~dp0composer.phar" %*>composer.bat
Nastepnie dodaj pliki do zmiennej środowiskowej $PATH. Dzięki temu będziesz mógł wpisywać w dowolnym miejscu polecenie composer
Jeśli pracujesz na linuxie to pobierz composera i dodaj go do katalogu /bin dzięki temu będziesz mógł korzystać z niego w każdym miejscu z konsoli.
Jeśli korzystasz z OSX możesz zainstalować composera z packagemanagera np. homebrew.
Następnie jeśli chcesz stworzyć projekt za pomocą composera musisz utworzyć plik composer.json
W pliku tym deklarujemy co potrzebujemy w naszym projekcie, lista paczek, wersji itp. wszystko dostępne jest na stronie packagist.org można również podpinać własne moduły/paczki/bundle poprzez utworzenie własnego repozytorium z paczkami za pomocą satisa, ale o tym w innym artykule.
Aby Mając już plik composer.json musisz wykonać polecenie
composer install
Dzięki temu wszystkie biblioteki w projekcie zostaną pobrane w wersji, którą zadeklarowałeś i ściągnięte do katalogu vendor. Aby z nich korzystać musisz w index.php dodać linię
require 'vendor/autoload.php';
Przykład composer.json dla instalacji ZendFramework 2 oraz PhpUnit-a
{ "require": { "zendframework/zendframework": "2.3.*@dev", "phpunit/phpunit": "4.5.*@dev" } }
Warto również korzystać z loadera, który jest wbudowany w Composera. Korzysta on z PSR-4(aktualnie jedyny standard ładowania plików w PHP). Dodanie klas do ładowania odbywa się poprzez edycję pliku composer.json i dodanie następującego kodu
{ "autoload": { "psr-4": {"Acme\\": "src/"} } }
Gdzie Acme to nasza biblioteka, a src/ to ścieżka do niej.
Jeśli chcesz zaktualizować biblioteki używasz komendy composer update.
Ważne:
Pamiętaj, że nie należy modyfikować bibliotek w katalogu vendor. Jeśli chcesz coś zmienić to najlepiej zrobić forka projektu i tam edytować zmiany, ewentualnie później zrobić merge requesta do projektu. Jeśli zmienisz coś w katalogu vendor to przy komendzie composer update twoje zmiany zostaną nadpisane!
Zostaw komentarz