PHP csomagkezelő rendszerek: Composer, Nette

Composer

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

 

https://doc.nette.org/hu/utils/images