Composer
Leírás
A Composer olyan program, amellyel a modern PHP alkalmazásokban használt különböző előre elkészített librarykat és azok függőségeit szabványos módon lehet telepíteni az alkalmazás alá.
Amikor először elindítjuk a composert a projekt gyökérkönyvtárában, akkor létrehoz egy composer.json és composer.lock nevű fájlokat, egy vendor alkönyvtárat, abban egy composer nevű könyvtárat és egy autoload.php nevű file-t. Ez utóbbi gondoskodik arról, hogyha require paranccsal beírjuk egy PHP kódba a nevet, akkor minden class-t képes betölteni a libraryból.
A vendor könyvtárba kerül minden telepített csomag is az alábbi szabvány alapján: <fejlesztő_neve>/<csomag_neve>
Valahogy így:
- composer.json
- composer.lock
- vendor
- composer
- autoload.php
- fejlesztő_neve
- csomag_neve
- fejlesztő1_neve
- csomag1_neve
Ez a szabvány biztosítja a szabványos telepítést és a függőségeket.
minden egyes csomag tlepítése során a composer.json fájlba bekerül a telepített csomag neve a fenti szabvány szerint.
Telepítés
A csomag telepítése Windows környezetben:
- Letöltése innen: Composer-Setup.exe
- Telepítése: Windowsos programként a szokásos.
- Kérdezi, hogy minden felhasználó számára telepíted => tovább
- Kérdezi, hogy hol található a PHP, amit futtatsz =>tovább
- Ha van proxy, azt is meg lehet adni =>tovább
- Települ a program
Linux környezetben a dokumentáció itt található: https://getcomposer.org/doc/
Használata
Nyitsz egy parancssort a projekt gyökérkönyvtárában, majd az alábbi paranccsal létrehozod a vendor könyvtárat, a composer.json és a composer.lock nevű fájlokat és a csomagnak megfelelő alkönyvtárat.
C:\xampp\htdocs\project>composer require <fejleszto_neve>/<csomag_neve>
Ha ugyanebben a könyvtárban kiadod újra a parancsot, akkor hasonló módon, a meglévő composer.json és composer.lock fájl felhasználásával telepíti a további csomagokat.
Megjegyzés: A Composer a https://packagist.org/ oldalon lévő csomagokat telepíti elsősorban!
Csomag telepítése függőségekkel
Ha egy csomagnak vannak függőségei, akkor a telepítés során azokat is automatikusan letölti és telepíti. Az alapértelmezett használat során a legutolsó változatot telepíti, amely a PHP verziójához is igazodik.
Ha tudjuk, hogy a lib melyik változatát akarod telepíteni, akkor azt is meg lehet adni:
composer require <fejleszto_neve>/<csomag_neve>:^2.1
Csomag törlése
Ha egy csomagot el akarsz távolítani, akkor az alábbi parancsot kell kiadni:
composer remove <fejleszto_neve>/<csomag_neve>
Csomag frissítése
Ha frissíteni akarod a meglévő csomagot, akkor:
composer update <fejleszto_neve>/<csomag_neve>
Composer verziószám kiiratása:
composer -V
A Composer rendszer frissítése:
composer self-update
Egy projekt inicializálása, composer.json létrehozása
composer init
Függőség hozzáadása a project-hez vendor/project verzió(*)
composer require <fejleszto>/<csomag_neve> 1.1.1
Fejlesztési függőség hozzáadása
composer require --dev phpunit/phpunit 3.7.28
Más által hozzáadott csomag telepítése
composer install
Csomagok frissítése
composer update
Autoloader újragenerálása
composer dump-autoload
A composer.json fájl állapotámak ellenőrzése
composer validate
Ha a composer parancsot kiadod, akkor egy rövid angol nyelvű help-et kapsz.
Nette.org