Composer i CodeIgniter

Czym jest Composer? Pamiętacie projekt Sparks? Jeśli tak to jesteśmy już w połowie drogi. Composer to narzędzie do zarządzania zależnościami – podobnie jak Sparks, z tym że w tym wypadku nie ograniczamy się tylko do kodu, który będzie współpracował jedynie z CodeIgniterem. Composer dostarcza rozwiązania, które bez problemu można wykorzystać przy pracy z jakimkolwiek frameworkiem, czy własnym kawałkiem kodu, napisanym w PHP. Fajne? No pewnie.

Po instalacji Composera, za pomocą kilku komend i linii kodu, możemy korzystać z napisanego przez innych użytkowników kodu i bibliotek. Jest to szczególnie przydatne jeśli korzystamy z wielu różnych i zależnych od siebie bibliotek. Composer pozwala nam bowiem na deklarację potrzebnych komponentów w pliku json. Później za pomocą jednej komendy możemy zainstalować wszystkie potrzebne biblioteki i zależności.

No dobrze, jeśli już wiemy czemu warto korzystać z Composera, to przejdźmy do jego instalacji. Z racji tego, że dokonuję instalacji na Windowsie 7, pierwszą rzeczą jaką musimy zrobić jest udanie się na stronę, gdzie możemy pobrać Composer (http://getcomposer.org/download/). W moim przypadku zainteresujemy się plikiem
Composer-Setup.exe. Po ściągnięciu pliku, dokonujemy instalacji – w moim przypadku ograniczyło się to do klikania na przycisk „Next”.

Jeśli instalacja przebiegłapomyślnie, możemy teraz zacząć używać Composera. Jak się do tego zabrać? To bardzo proste. Założę na początek, że dysponujemy najnowszą świeżą instalacją CodeIgnitera (2.1.3). Teraz wystarczy wykonać tylko kilka kroków.

1. Możemy sprawdzić, czy Composer, rzeczywiście został poprawnie zainstalowany poprzez uruchomienie z linii komend polecenia composer. W wyniku tego powinniśmy otrzymać na konsoli listę dostępnych komend.
2. Kiedy już upewniliśmy się, że Composer działa prawidłowo, możemy przejść dalej. Wybrałem przykładowy komponent, który zainstalujemy. W głównym katalogu naszej instalacji CodeIgnitera (zaraz obok pliku index.php), tworzymy plik composer.json o następującej treści:

{
	"require": {
		"kriswallsmith/buzz": "dev-master"
	}
}

3. Z poziomu linii komend, będąc w katalogu w którym znajduje się nasza instalacja CodeIgnitera, wykonujemy następujące polecenie: composer install (lub composer install --prefer-dist – w moim przypadku, ponieważ miałem problemy z git/open_ssl, nad którym nie chciało mi się teraz siedzieć)

4. Teraz wystarczy w pliku index.php dodać linijkę:

include_once './vendor/autoload.php';

Zauważ, że wcześniej w naszy głównym katalogu został stworzony katalog vendor, w którym będą znajdowały się wszystkie komponenty.

5. Przyszedł czas na przetestowanie komponentu. W tym celu utworzymy w kontrolerze Welcome odpowiednią metodę:

public function composer_test()
{
	$browser = new Buzz\Browser();
	$response = $browser->get('http://www.google.pl');

	echo $browser->getLastRequest()."\n";
	echo $response;
}

Jeśli wejdziemy na adres: http://nasz_projekt/index.php/welcome/composer_test, to naszym oczom powinna ukazać się strona google.pl i informacje na temat tego requestu.

Na koniec Packagist, czyli strona na której znajdziemy listę dostępnych komponentów: https://packagist.org. Natomiast komponent, który wykorzystaliśmy, to: https://packagist.org/packages/kriswallsmith/buzz.

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.