Composer

Obsah článku

Composer je nástroj slúžiaci na správu balíkov, knižníc a ďalších závislostí pre programovací jazyk PHP. Najčastejšie sa používa v spojení s PHP frameworkami (napríklad Laravel, Drupal, Sympfony a iné). Composer je na hostingu dostupný automaticky, bez nutnosti inštalácie, cez shell konzolu.

Ako začať?

1. Budeme potrebovať aktívnu shell konzolu, postup jej aktivácie popisujeme v tomto návode. Po pripojení si môžeme najprv overiť, v akej verzii je Composer nainštalovaný. Použijeme na to príkaz:

composer -v

príklad výsledku:

Note: Ak potrebujeme Composer v inej verzii, je možné ho nainštalovať lokálne. V tomto návode používame globálne dostupný Composer.

Pomocou príkazu cd sa presunieme do priečinka, v ktorom chceme mať projekt uložený, napríklad:

cd domena.tld/web

Ukážeme si jednoduchší z dvoch spôsobov, ktorým si nainštalujeme balík nesbot/carbon. Nájdeme ho aj na packagist.org, čo je oficiálny repozitár pre Composer.

2. Inštaláciu vykonáme spustením príkazu composer require vendor/balik:

composer require nesbot/carbon

ak sa balík úspešne nainštaluje, dostaneme nasledovný výpis:

Nakoľko sa jedná o prvý balík v našom projekte, vytvorili sa automaticky súbory composer.json, composer.lock a taktiež priečinok vendor.

Composer.json:

-sú v ňom definované balíky, na ktorých je projekt závislý. Zvyčajne je uložený v najvyššom priečinku projektu. Môžeme do neho zapisovať manuálne, alebo do neho zapíše Composer po tom, čo pustíme príkaz require.  

Composer.lock:

-obsahuje balíky, ktoré náš projekt aktuálne využíva. Narozdiel od composer.json sú tu definované presné použité verzie, u ktorých máme overené, že s nimi náš kód funguje.

Vendor:

-tento priečinok obsahuje všetky súbory nainštalovaných balíkov. Zároveň generuje autoload tried (definuje cesty pre automatické načítanie tried nášho projektu (autoloading) a prípadne skratky k skriptom, ktoré nám môžu uľahčiť prácu pri tvorbe projektu).

Keď si otvoríme composer.json, uvidíme čo do neho composer zapísal:

Súbor obsahuje kľúč „require“, názov balíka, ktorý je zložený z dvoch častí ( názvu jeho tvorcu  a samotného balíka) a taktiež verziu. Tá nemusí byť definovaná presne, ale napríklad ako „2.0.*“, čím určíme, že akákoľvek verzia medzi 2.0 a 2.1 je v poriadku.

Note: ak by sa balík nenainštaloval, môžeme použiť príkaz: composer why vendor/balik

3. Aby sme mohli otestovať náš balík, vytvoríme si jednoduchý php skript, napríklad pod názvom carbon.php. Vložíme do neho:

<?php

require __DIR__ . ‚/vendor/autoload.php‘;

use Carbon\Carbon;

printf(„Prave je %s“, Carbon::now()->toDateTimeString());

echo „<br>“;

printf(„V Londyne je %s“, Carbon::now(‚Europe/London‘));  //implicit __toString()

echo „<br>“;

printf(„Mam %s rokov“, Carbon::createFromDate(1992, 10, 24)→age);

Po uložení si môžeme súbor otvoriť v prehliadači (v našom prípade je url neviem.uz/projekt/carbon.php) a dostaneme takýto výsledok:

Funkcie nainštalovaných balíkov môžeme používať vo svojom vlastnom kóde, z ktorého pozostáva webová stránka či iný projekt.

Najčastejšie využívané príkazy:

composer require vendor/balik

-pridá novú závislosť do composer.json

composer update

-stiahne nové verzie všetkých balíkov v composer.json, a taktiež všetky chýbajúce balíky

composer install

-nainštaluje všetky balíky v konkrétnej verzii uvedené v composer.lock

composer show vendor/balik

-ukáže informácie o nainštalovanom balíku

composer remove vendor/balik

-odstráni balík z projektu

Note: ak chceme použiť composer s inou php verziou ako je predvolená v shell, upravíme príkaz nasledovne: 

php7.4 /usr/local/bin/composer update

Note: Oficiálnu dokumentáciu k dostupným príkazom nájdeme na https://getcomposer.org/doc/03-cli.md

Aktualizované 10. mája 2022

Bol pre vás tento návod nápomocný?

Mohlo by vás tiež zaujímať:

Spýtajte sa nás, radi poradíme
Po - Ne 8:00-22:00
Kontaktovať podporu