Jakiś czas się zastanawiałem nad sensownością tego wpisu. Composer to jedna z tych technologii która w mgnieniu oka zyskała wielką aprobatę środowiska programistycznego, dlatego też obawiałem się, że wpis dotyczący technologii która została po raz pierwszy udostępniona w 2012 roku może okazać się w ogóle bezużyteczny. Mam jednak nadzieję że nie do końca jest to prawdą i że wpis ten jednak komuś się przyda.
Tyle słowem wstępu, pierwszy wpis dotyczący Composera będzie czysto teoretyczny, następne powoli pokażą jakie możliwości ma to narzędzie i jak bardzo przydaje się nawet w najmniejszych projektach PHP.
1. Czym to właściwie jest
Jak wspomniałem we wstępie Composer po raz pierwszy został upubliczniony w 2012 roku i najprościej mówiąc jest to manager bibliotek dla języka PHP. Twórcy tego oprogramowania wzorowali się na takich narzędziach ja npm dla node.js czy builder dla ruby, wraz z nadejściem pierwszej wersji Composera programiści PHP dostali narzędzie które pozwala w poukładany sposób zarządzać bibliotekami i ich zależnościami. Każdy kto spotkał się z PHP przed nazwijmy to „ery Composera” zapewne pamięta ile bólu i problemów sprawiało dodanie niektórych bibliotek do własnego kodu, zwyczajnie brakowało standardu. Nawet kiedy już standardy takie jak PSR-0 zaczynały być coraz bardziej popularne i przynajmniej ładowanie bibliotek stawało się coraz łatwiejsze, nie było narzędzia które pozwalałoby na szybki update do najnowszych wersji.
Podsumowując możemy opisać Composer jako uniwersalny manager bibliotek dla PHP
2. Jakie są zalety korzystania z Composera
Pamiętam moje pierwsze podejścia do tej technologii nie do końca byłem przekonany czy to dobra droga, dziś nie wyobrażam sobie pracy bez Composera chyba największą zaletą jest centralne repozytorium paczek Packagist.com na którym znajdziemy biblioteki napisane zgodnie ze standardami (a przynajmniej w dużej większości). Dodatkowo każda z tych bibliotek jest opublikowana na github więc możemy od razu podejrzeć listę issues popularność paczki jak i samemu zajrzeć w kod i sprawdzić czy odpowiada naszym wymaganiom (a jeżeli nie, możemy odpowiednią funkcję dopisać i stać się jednym z wielu użytkowników którzy pomagają przy rozwoju projektu).
Composer dostarcza również własny autoloader aktualnie wspierane standardy to PSR-0 i PSR-4. Dodatkowo mamy możliwość użycia automatycznego ładowania kodu który nie przestrzega wspomnianych standardów do tego posłuży nam mechanizm mapowania klas lub po prostu zwykłe dołączanie plików. Każdy z tych sposobów zostanie na pewno opisany w kolejnych częściach dotyczących korzystania z tego oprogramowania.
Kolejną zaletą jest możliwość utrzymywania możliwie najbardziej aktualnego kodu wszystkich dołączonych bibliotek wystarczy jedna komenda z linii poleceń aby nasz projekt zyskał najnowsze stabilne wersje wymaganych rozszerzeń.
Wracając jeszcze do ładowania klas warto wspomnieć że dostarczany autoloader pozwala nam używać również własnego kodu, dzięki przestrzeganiu standardów auto ładowania zyskamy na wydajności naszej pracy i czytelności projektu.
Następna rzeczą wartą uwagi jest fakt iż sam Composer nie ogranicza się tylko do Git i Packagist, możemy ręcznie definiować repozytoria możemy oczywiście stworzyć własne repozytorium i korzystać z niego przy projektach dzięki temu w łatwy sposób możemy zarządzać własnym prywatnym kodem i używać go w wielu projektach.
Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...
Zwiń
Czytaj na blogu autora...