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:

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://pl.phptherightway.com

http://itcraftsman.pl/composer-czyli-jak-zarzadzac-zaleznosciami-w-php/