Composer
K čemu je to dobré?
- nástroj na správu závislostí v PHP.
- určíte na jakých knihovnách závisí vaše aplikace a composer se postará o potřebné verze
- správa balíčků pro každý projekt zvlášť (adresář
vendor)
instalace
composer.json (format)
composer init{
"name": "author/my-project",
"description": "My project",
"type": "project",
"authors": [
{
"name": "Vojtěch Jirkovský",
"email": "jirkovoj@fit.cvut.cz"
}
],
"require": {}
}příkazy
require- přidá novou závislost docomposer.jsoninstall- nainstaluje závislosti dlecomposer.locknebocomposer.jsonupdate- nainstaluje/aktualizuje závislosti dlecomposer.jsondump-autoload- vygenerujevendor/autoload.php(po instalaci balíčků automaticky)
composer.lock
- zafixované konkrétní verze balíčků pro pozdější
composer install - lze verzovat v gitu či jiném systému
- verzování
composer.lockje doporučeno (prevence neočekávané aktualizace balíčků), viz oficiální dokumentace Composeru či článek na Medium.com
- verzování
composer updatemůže změnitcomposer.lock
autoloading
- pro nainstalované závislosti generuje autoloader (
dump-autoload) lze nastavit i pro vlastní aplikaci, pro aplikaci dodržující standard PSR-4 např.
"autoload": { "psr-4": {"Eshop\\": "src/"} },- Composerem lze automaticky načítat kód i podle jiných pravidel
file: automaticky načte všechny specifikované soubory (př. pro registraci vlastního autoloaderu)classmap: Composer naskenuje všechny existující třídy, vytvoří mapování název třídy → název souboru a autoloader tuto mapu využívá- aj., více viz oficiální dokumentace direktivy
autoload
- v závislosti na aplikaci může být dostačující autoloader vygenerovaný Composerem, případně může být zapotřebí definovat si autoloader i vlastní
packagist
- repozitář balíčků pro composer
- na titulní stránce zároveň rychlokurz composeru
- http://packagist.org