Composer — это менеджер зависимостей для PHP (похожий на npm для Node.js или pip для Python ). Composer подтянет все необходимые пакеты PHP, от которых зависит ваш проект, и будет управлять ими за вас.

В этом руководстве вы узнаете, как установить и использовать Composer на компьютере с Ubuntu 18.04. Те же шаги можно использовать для Ubuntu 16.04.

Прежде чем продолжить работу с этим учебным пособием, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo и что в вашей системе Ubuntu 18.04 установлен PHP. Чтобы установить Composer в вашей системе Ubuntu, выполните следующие действия:

Перед загрузкой и установкой Composer сначала обновите индекс пакетов и установите необходимые требования:

sudo apt update
sudo apt install wget php-cli php-zip unzip

Теперь, когда на нашем компьютере установлен php cli, мы можем загрузить установщик композитора с помощью:

Приведенная выше команда загрузит composer-setup.phpфайл в текущий рабочий каталог .

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Далее нам нужно проверить целостность данных скрипта, сравнив SHA-384хэш скрипта с последним хэшем установщика, найденным на странице Composer Public Keys/Signatures .

Мы будем использовать следующую команду wget для загрузки ожидаемой подписи последней версии установщика Composer со страницы Composer на Github и сохранения ее в переменной с именем HASH:

HASH="$(wget -q -O - https://composer.github.io/installer.sig)"

Теперь выполните следующую команду, чтобы убедиться, что сценарий установки не поврежден:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Если хэши совпадают, вы увидите следующий вывод:

Installer verified

Если хэши не совпадают, вы увидите Installer corrupt. В этом случае вам нужно будет повторно загрузить скрипт установки Composer и дважды проверить значение $HASHпеременной с помощью echo $HASH . После проверки установщика вы можете перейти к следующему шагу.

Следующая команда установит Composer в /usr/local/binкаталог:

composerУстанавливается как общесистемная команда и будет доступна для всех пользователей .

All settings correct for using Composer
Downloading...

Composer (version 1.8.5) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Последний шаг — проверка установки:

composer

Установка Composer (Быстрый способ)

Используйте следующие команды для быстрой установки Composer в вашей системе Ubuntu:

Установите PHP CLI и Zip:

sudo apt update && sudo apt install wget php-cli php-zip unzip curl

Скачать Composer с curl:

curl -sS https://getcomposer.org/installer |php

Переместите файл Composer в /usr/local/binкаталог:

sudo mv composer.phar /usr/local/bin/composer

Начало работы с Composer

Теперь, когда Composer установлен в вашей системе Ubuntu, мы покажем вам, как использовать Composer в проекте PHP.

Первый шаг — создать каталог, который будет корневым каталогом проекта и содержать composer.jsonфайл. Этот файл описывает ваш проект PHP, включая зависимости PHP и другие метаданные.

Создайте каталог проекта и переключитесь на него с помощью:

mkdir ~/my-first-composer-project
cd ~/my-first-composer-project

Следующим шагом является инициализация нового composer.jsonс помощью composer require команды и указание пакета, который мы хотим загрузить.

В этом примере мы создадим пример приложения, которое будет печатать текущее время с помощью пакета carbon .

Выполните следующую команду, чтобы инициализировать новый composer.jsonи установить пакет углерода:

composer require nesbot/carbon

Если вы укажете каталог вашего проекта , вы увидите, что он содержит два файла composer.jsonи composer.lock, и vendorкаталог.

ls -l
  • Каталог vendor— это каталог, в котором хранятся зависимости проекта.
  • Содержит composer.lockсписок всех установленных пакетов, включая версии пакетов.
  • Описывает composer.jsonпроект PHP и все зависимости PHP.

Composer предоставляет возможности автозагрузки, которые позволяют нам использовать классы PHP без необходимости requireили includeфайлов.

Создайте файл с именем testing.phpи добавьте следующий код:

<?php

require __DIR__ . '/vendor/autoload.php';

use Carbon\Carbon;

printf("Now: %s", Carbon::now());

В первой строке после открывающего тега php мы включаем vendor/autoload.phpфайл, автоматически сгенерированный Composer, который автоматически загрузит все библиотеки.

Затем мы используем псевдоним Carbon\Carbonas Carbonи в последней строке мы печатаем текущее время, используя nowметод Carbon.

Запустите скрипт, набрав:

php testing.php

Вывод должен выглядеть примерно так:

Now: 2018-08-28 23:47:19

Позже, если вы хотите обновить свои пакеты PHP, вы можете просто запустить:

composer update

Приведенная выше команда проверит наличие более новых версий установленных пакетов, и если будет найдена более новая версия и ограничение версии совпадает с указанным в composer.json, Composer обновит пакет.

Заключение

Вы узнали, как установить Composer на свой компьютер с Ubuntu 18.04, а также как использовать Composer для создания базового проекта PHP.