Composer: Różnice pomiędzy wersjami
(Nie pokazano 5 wersji utworzonych przez 2 użytkowników) | |||
Linia 1: | Linia 1: | ||
''Composer'' to narzędzie służące do zarządzania zależnościami bibliotek [[PHP]]. | ''Composer'' to narzędzie służące do zarządzania zależnościami bibliotek [[PHP]]. | ||
+ | === Dostępne wersje === | ||
+ | |||
+ | * Composer 2 działa z wersjami PHP od 7.2 i dostępny jest pod poleceniem: <code>composer</code> | ||
=== Instalacja === | === Instalacja === | ||
+ | Można również skorzystać z własnej wersji Composer. W tym celu należy wykonać poniższą instrukcję: | ||
Przed przystąpieniem do instalacji należy włączyć możliwość korzystania z własnego oprogramowania - [[Binexec]]. | Przed przystąpieniem do instalacji należy włączyć możliwość korzystania z własnego oprogramowania - [[Binexec]]. | ||
Aby zainstalować Composer należy użyć następujących poleceń: | Aby zainstalować Composer należy użyć następujących poleceń: | ||
Linia 13: | Linia 17: | ||
Use it: php composer.phar{{endoutput}} | Use it: php composer.phar{{endoutput}} | ||
{{prompt}}mv composer.phar composer | {{prompt}}mv composer.phar composer | ||
− | {{prompt}}echo 'export PATH= | + | {{prompt}}echo 'export PATH=$HOME/composer:$PATH' >> $HOME/.bash_profile |
− | Aby wybrać inną wersję PHP CLI dla Composer niż domyślna | + | Aby wybrać inną wersję PHP CLI dla Composer niż domyślna należy wykonać poniższe polecenia. W miejsce X należy wstawić wybraną wersję PHP |
Aktualna wersja na dzień 14:22, 26 lip 2024
Composer to narzędzie służące do zarządzania zależnościami bibliotek PHP.
Spis treści
Dostępne wersje
- Composer 2 działa z wersjami PHP od 7.2 i dostępny jest pod poleceniem:
composer
Instalacja
Można również skorzystać z własnej wersji Composer. W tym celu należy wykonać poniższą instrukcję: Przed przystąpieniem do instalacji należy włączyć możliwość korzystania z własnego oprogramowania - Binexec. Aby zainstalować Composer należy użyć następujących poleceń:
$ mkdir composer && cd composer $ curl -sS https://getcomposer.org/installer | php #!/usr/bin/env php All settings correct for using Composer Downloading... Composer successfully installed to: /usr/home/login/composer/composer.phar Use it: php composer.phar $ mv composer.phar composer $ echo 'export PATH=$HOME/composer:$PATH' >> $HOME/.bash_profile
Aby wybrać inną wersję PHP CLI dla Composer niż domyślna należy wykonać poniższe polecenia. W miejsce X należy wstawić wybraną wersję PHP
$ mkdir ~/bin && ln -s /usr/local/bin/phpX ~/bin/php $ echo 'export PATH=$HOME/bin:$PATH' >> $HOME/.bash_profile $ source $HOME/.bash_profile
Konfiguracja
Opis zależności należy stworzyć w pliku composer.json
w głównym folderze projektu. Również w nim należy wykonać wszystkie
require
Pierwszą (i często ostatnią) rzeczą jaką należy skonkretyzować jest lista wymaganych bibliotek wraz z wersją za pomocą require
.
{ "require": { "monolog/monolog": "1.0.*" } }
Nazwy pakietów
Nazwa pakietu składa się z nazwy dostawcy oraz nazwy biblioteki. Bardzo często obie nazwy będą identyczne. Nazwa dostawcy jest po to, aby uniknąć konfliktu nazw bibliotek. Pozwala to dwóm osobnym autorom stworzyć bibliotekę json, które będą dostępne jako igorw/json i seldaek/json.
Wersja pakietu
https://getcomposer.org/doc/01-basic-usage.md W poprzednim przykładzie użyto wersji 1.0.* biblioteki monolog. Oznacza to, że każda wersja z gałęzi 1.0 będzie poprawna, np. 1.0.0, 1.0.2 i 1.0.20.
Nazwa | Przykład | Opis |
---|---|---|
Dokładna wersja | 1.0.2 | Można sprecyzować dokładną wersję pakietu. |
Zakres | >= 1.0 >= 1.0 < 2.0 >= 1.0 < 1.1 || >=1.2 |
Używając znaków nierówności: >, >=, <, <=, != można określić zakres wersji. Można deklarować wiele zakresów. Spacja oraz przecinek traktowane są jako logiczne i. Podwójny znak kreski pionowej odpowiada za logiczne lub. Logiczne i ma pierwszeństwo wobec logicznego lub. |
Zakres dywizowy | 1.0 - 2.0 | Zakres 1.0 - 2.0 działa tak samo jak >=1.0.0 <2.1. |
Niewiadoma | 1.0.* | 1.0.* działa tak samo jak zakres >=1.0 <1.1. |
Operator tyldy | ~1.2.3 | Bardzo przydatny dla pakietów, które używają semantic versioning. ~1.2.3 działa tak samo, jak >=1.2.3 <1.3.0. |
Operator karety | ^1.2.3 | Bardzo przydatny dla pakietów, które używają semantic versioning. ^1.2.3 działa tak samo, jak >=1.2.3 <2.0.0. |
Instalacja zależności
Aby zainstalować zależności zdefiniowane w pliku composer.json
należy wykonać polecenie composer install
. Ściągnięte paczki zostaną umieszczone w folderze vendor
.
W przypadku korzystania z gita należy rozważyć dodanie folderu vendor do .gitignore
Dodatkowo tworzony jest plik composer.lock
w głównym katalogu projektu.
composer.lock
Po zainstalowaniu zależności tworzony jest plik composer.lock
z informacją które pakiety i w jakiej wersji zostały zainstalowane. Instalator najpierw sprawdza czy ten plik istnieje, jeżeli istnieje to ściąga pakiety w wersji tam zdefiniowanej.
W przypadku chęci zaktualizowanie pakietów należy wykorzystać polecenie composer update
Packagist
Packagist to główne repozytorium Composer. To miejsce z którego są ściągane wymienione w require paczki.
Autoloading
Dla bibliotek, które sprecyzowały autoload, Composer generuje plikvendor/autoload.php
, który można załączyć funkcją:
require 'vendor/autoload.php';