Composer

Composer je nástroj sloužící na správu balíků, knihoven a dalších potřeb pro programovací jazyk PHP. Nejčasteji se používá ve spojení s PHP frameworky (například Laravel, Drupal, Sympfony a jiné). Composer je na hostingu dostupný automaticky, bez nutnosti instalace, přes Shell konzoli.

Jak začít?

1. Budeme potrebovat aktivní shell konzoli, postup její aktivace popisujeme v tomto návodu. Po připojení si můžeme nejprve ověřit, v jaké verzi je Composer nainstalovaný. Použijeme na to příkaz:

composer -v

příklad výsledku:

Poznámka: Pakliže potřebujeme Composer v jiné verzi, je možné ho nainstalovat lokálně. V tomto návodu používáme globálně dostupný Composer.

Pomocí příkazu cd se přesuneme do adresáře, ve kterém chceme mít projekt uložený, například:

cd domena.tld/web

Ukážeme si jednodušší ze dvou způsobů, kterým si nainstalujeme balík nesbot/carbon. Najdeme jej i na packagist.org, což je oficiální repozitář pro Composer.

2. Instalaci vykonáme spuštěním příkazu composer require vendor/balík:

composer require nesbot/carbon

jakmile se balíček úspěšně nainstaluje, dostaneme následující výpis:

Jelikož se jedná o první balík v našem projektu, vytvořili se automaticky soubory composer.json, composer.lock a taktéž adresář vendor.

Composer.json:

  • v něm jsou definované balíky, na kterých je projekt závislý. Obyčejně je uložený v najvyšším adresáři projektu. Můžeme do něho zapisovat manuálně, anebo do něho zapíše Composer po tom, co spustíme příkaz require.  

Composer.lock:

-obsahuje balíky, které náš projekt aktuálně využívá. Narozdíl od composer.json jsou tu definované přesně použité verzie, u kterých máme ověřené, že s nimi náš kód funguje.

Vendor:

-tento adresář obsahuje všechny soubory nainstalovaných balíků. Zároveň generuje autoload tried (definuje cesty pro automatické načítání tried nášeho projektu (autoloading) a případně zkratky ke skriptům, které nám mohou ulehčit práci při tvorbě projektu).

Když si otevřeme composer.json, uvidíme, co do něho composer zapsal:

Soubor obsahuje klíč „require“, název balíku, který je složený ze dvou častí ( název jeho tvůrce a samotného balíku) a taktéž verzi. Ta nemusí být definovaná přesně, ale například jako „2.0.*“, čímž určíme, že jakákoli verze mezi 2.0 a 2.1 je v pořádku.

Poznámka: pokud by se balík nenainstaloval, můžeme použít příkaz: composer why vendor/balík

3. Abychom mohli otestovat náš balík, vytvoříme si jednoduchý php skript, například pod názvem carbon.php. Vložíme do něho:

<?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 soubor otevřít v prohlížeči (v našem případě je url neviem.uz/projekt/carbon.php) a dostaneme tento výsledek:

Funkce nainstalovaných balíků můžeme používat ve svém vlastním kódu, ze ktorého je tvořena webová stránka či jiný projekt.

Najčasteji využívané příkazy:

composer require vendor/balik

  • přidá novou závislost do composer.json

composer update

  • stáhne nové verzie všech balíků v composer.json, a taktéž všechny chybějící balíky

composer install

  • nainstaluje všechny balíky v konkrétní verzi uvedené v composer.lock

composer show vendor/balik

  • ukáže informace o nainstalovaném balíku

composer remove vendor/balik

  • odstraní balík z projektu

Poznámka: pokud chceme použít composer s jinou php verzií než je předvolená v shell, upravíme příkaz nasledovně: 

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

Note: Oficiální dokumentaci k dostupným příkazům najdeme na https://getcomposer.org/doc/03-cli.md

Aktualizováno: 18 května, 2022

Byl tento článek užitečný?

Related Articles

Zákaznická podpora
24 hodin denně, 7 dní v týdnu
KONTAKTOVAT PODPORU