Composer - wprowadzenie
Jedną z zalet otwartych narzędzi programowania takich jak Python czy PHP jest możliwość wykorzystania bibliotek, które są rozwijane przez różnych programistów. Pojawia się w związku z tym problem zależności różnych wersji języka i bibliotek. Zostały stworzone dwa systemy obsługi bibliotek, które rozwiązują ten problem:
PEAR: http://pear.php.net
Composer: https://packagist.org
Różnica między nimi jest taka, że Pear jest używany na poziomie systemu operacyjnego, a więc wszystkie aplikacje na danym serwerze uzyskują dostęp do tych samych bibliotek. Composer natomiast działa w obrębie konkretnej aplikacji.
Composer jest skryptem napisanym w PHP o nazwie composer.phar. Można go pobrać ze strony:https://getcomposer.org/. Wywołuje się go poleceniem:
php composer.phar
Zarówno w systemie Windowa jak i Linux może on zostać zintegrowany z systemem i obudowany skryptem o nazwie composer. Wywołujemy więc po prostu polecenie composer: (lub wybieramy prawym przyciskiem myszy z menu kontektowaego Windows).
Konfigurację Composera zapisuje się w pliku tekstowym, w standardzie json. Można go zainicjować wykonując polecenie:
composer init
W trakcie inicjowania można wyszukać biblioteki jakie są potrzebne. Na przykład po wyborze yii2 dostajemy plik:
Przykładowy wynik:
{
"name": "galicea/test1",
"description": "testowa aplikacja",
"require": {
"yiisoft/yii2": "^2.0"
},
"authors": [
{
"name": "dev",
"email": "dev@s.pwste.edu.pl"
}
]
}
następnie wykonujemy instalację:
composer install
Paczki są instalowane w podkatalogu vendor.
Pełny opis Composera i pliku konfiguracyjnego:http://composer.json.jolicode.com/
Spis najważniejszych kluczy w pliku conposer.json:
name– nazwa pakietu
description– zwięzły opis pakietu
keywords– słowa kluczowe (dla wyszukiwarek)
license– licencja
require– lista wymaganych paczek wraz z ichwersjami.
autoload– definicje dla ładowarki (zob. odrębną część lekcji)
scripts– możliwość rozszerzenia działania composera (zobaczwięcej).
Pełen spis wszystkich możliwy kluczy oraz ich znaczeń znajduje się pod tym linkiem.
Zobacz też:
http://itcraftsman.pl/composer-czyli-jak-zarzadzac-zaleznosciami-w-php/