Composeris je správce závislostí pro PHP (podobně jako npm pro Node.jsor pip pro Python).
Pomocí Composeru můžete určit knihovny PHP, na kterých váš projekt závisí, a bude stahovat a spravovat všechny knihovny a závislosti za vás. Composer se používá ve všech moderních PHP frameworkech a platformách, jako jsou Laravel, Symfony, Drupal a Magento.
Tento tutoriál vysvětluje, jak nainstalovat a používat Composer na Ubuntu 20.04.
Instalace PHP Composer na Ubuntu #
Před instalací aplikace Composer se ujistěte, že máte na svém systému nainstalovány všechny nezbytné požadavky:
sudo apt update
sudo apt install wget php-cli php-zip unzip
Composer nabízí instalační program napsaný v PHP, který použijeme k instalaci Composeru. Použijte wget
pro stažení instalačního programu:
wget -O composer-setup.php https://getcomposer.org/installer
Výše uvedený příkaz uloží soubor jako composer-setup.php
v aktuálním pracovním adresáři.
Composer je aplikace CLI s jedním souborem a lze ji nainstalovat buď globálně, nebo jako součást projektu. Globální instalace vyžaduje oprávnění sudo.
-
Chcete-li Composer nainstalovat globálně jako celosystémový příkaz, který bude dostupný všem uživatelům, jednoduše umístěte soubor do adresáře, který je v systémovém
PATH
.Spusťte následující příkaz a nainstalujte Composer do/usr/local/bin
adresář:sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
All settings correct for using Composer Downloading... Composer (version 1.10.7) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
Nyní můžete Composer používat spuštěním
composer
ve vašem terminálu. -
Chcete-li lokálně nainstalovat skladatel, zadejte:
sudo php composer-setup.php --install-dir=/path/to/project
Tím se stáhne soubor s názvem
composer.phar
v kořenovém adresáři vašeho projektu. Chcete-li použít Composer, přejděte do adresáře projektu a spusťtephp composer.phar
Když je k dispozici nová verze aplikace Composer, můžete instalaci aktualizovat pomocí následujícího příkazu:
sudo composer self-update
Začínáme se skladatelem #
Nyní, když je Composer nainstalován ve vašem systému Ubuntu, pojďme se podívat, jak vytvořit projekt PHP pomocí Composer.
Prvním krokem je vytvoření kořenového adresáře projektu a navigace do něj:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
V tomto příkladu použijeme balíček PHP s názvem carbon k vytvoření ukázkové aplikace, která vytiskne aktuální čas.
Spusťte následující příkaz pro inicializaci nového projektu Composer a instalaci balíčku uhlíku:
composer require nesbot/carbon
Using version ^2.35 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 5 installs, 0 updates, 0 removals
- Installing symfony/translation-contracts (v2.1.2): Downloading (100%)
- Installing symfony/polyfill-php80 (v1.17.0): Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.17.0): Downloading (100%)
- Installing symfony/translation (v5.1.2): Downloading (100%)
- Installing nesbot/carbon (2.35.0): Downloading (100%)
Writing lock file
Generating autoload files
5 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Jak je znázorněno na výstupu, Composer vytvoří composer.json
soubor a stáhne a nainstaluje uhlík a všechny jeho závislosti.
Pokud uvedete adresář svého projektu, uvidíte, že obsahuje dva soubory composer.json
a composer.lock
a vendor
adresář.
ls -l
-rw-rw-r--. 1 linuxize linuxize 60 Mar 27 18:05 composer.json
-rw-rw-r--. 1 linuxize linuxize 11135 Mar 27 18:06 composer.lock
drwxrwxr-x. 6 linuxize linuxize 82 Mar 27 18:06 vendor
vendor
je adresář, kde jsou uloženy závislosti projektu.composer.lock
je soubor, který uchovává informace o všech nainstalovaných balíčcích a jejich verzích a uzamkne projekt na konkrétní verze.composer.json
je soubor, který popisuje váš projekt PHP, včetně závislostí PHP a dalších metadat.
Composer má funkce automatického načítání, které nám umožňují používat třídy PHP bez nutnosti require
nebo include
soubory.
Vytvořte soubor s názvem testing.php
a přidejte následující kód:
<?php
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
Pojďme analyzovat kód řádek po řádku.
Soubor vendor/autoload.php
soubor automaticky generuje Composer a automaticky načte všechny knihovny.
Další řádek vytvoří alias Carbon
a poslední řádek vytiskne aktuální čas pomocí uhlíku now
metoda.
Spusťte skript zadáním:
php testing.php
Výstup by měl vypadat nějak takto:
Now: 2020-06-17 20:41:04
Pokud později budete potřebovat aktualizovat balíčky projektu, zadejte:
composer update
Výše uvedený příkaz zkontroluje novější verze nainstalovaných balíčků a pokud bude nalezena novější verze a omezení verze se shoduje s omezením uvedeným v composer.json
, Composer balíček aktualizuje.