Введение
Composer — это менеджер пакетов для языка программирования PHP, созданный в первую очередь для облегчения установки и обновления зависимостей проекта.
В этом руководстве мы увидим, как установить и использовать Composer в Ubuntu 20.04 LTS Focal Fossa.
Предпосылки
Прежде чем приступить к работе с этим руководством, на вашем сервере должен быть установлен пользователь без полномочий root с привилегиями sudo. Следуйте этому руководству: Первоначальная настройка в Ubuntu 20.04 LTS.
Установите необходимые пакеты
Давайте удостоверимся, что мы обновляем индекс пакета. Откройте терминал и дайте следующую команду:
sudo apt update
Установите зависимости, необходимые для загрузки и использования Composer с PHP:
sudo apt install wget php-zip unzip php-cli php-mbstring git unzip
Установить Композитор
Если вы спешите и не хотите проверять целостность файла, быстро прокрутите вниз до «Установить Composer ».
Чтобы установить Composer в вашей системе Ubuntu, сделайте следующее.
Теперь, когда php-cli
установлен на нашем компьютере, мы можем загрузить установщик композитора с помощью:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Приведенная выше команда загрузит файл composer-setup.php
в текущий рабочий каталог.
Затем нам нужно проверить целостность данных скрипта, сравнив хэш скрипта SHA-384
с последним хэшем установщика, найденным на странице открытых ключей/подписей Composer.
Мы будем использовать следующую команду 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
:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
All settings correct for using Composer
Downloading...
Composer (version 1.10.6) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
composer
устанавливается как общесистемная команда и будет доступен всем пользователям.
Последний шаг — проверка установки:
composer
Вы должны получить выходное сообщение, подобное следующему:
______
/____/___ ____ ___ ____ ____ ________ _____
///__ \/__ `__ \/__ \/__ \/___/_ \/___///___//_////////_///_/(__ ) __//\____/\____/_//_//_/.___/\____/____/\___/_//_/Composer version 1.10.6
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
-d, --working-dir=WORKING-DIR If specified, use the given directory as working directory.
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 fr more verbose output and 3 for debug...
Это подтверждает, что 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
Использовать композитор
Проекты PHP часто зависят от внешних библиотек. Composer упрощает поиск и установку зависимостей для внешних библиотек.
Чтобы использовать Composer, вам понадобится файл composer.json. Этот файл сообщает Composer, какие зависимости загружать для проекта и какие версии каждого пакета можно установить.
Composer автоматически генерирует файл composer.json, когда вы добавляете зависимость в свой проект с помощью команды require.
Процесс использования Composer для установки пакета в качестве зависимости в проекте включает следующие шаги:
Давайте попробуем демо-приложение.
Цель этого приложения — преобразовать определенную фразу в строку, совместимую с URL: slug.
Начнем с создания каталога для нашего проекта. Мы назовем это slugify:
cd ~
mkdir demoslug
cd demoslug
Ищите пакет cocur/slugify на Packagist.org.
Запустите Composer, чтобы включить его в качестве зависимости, а также сгенерируйте файл composer.json для проекта:
composer require cocur/slugify
Вы должны получить выходное сообщение, подобное следующему:
Using version ^4.0 for cocur/slugify./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing cocur/slugify (v4.0.0): Downloading (100%)
Writing lock file
Generating autoload files
Каталог вашего проекта будет содержать два новых файла: composer.json и composer.lock, а также новую папку поставщика:
ls -l
Файл composer.lock используется для хранения информации о версиях каждого установленного пакета.
Папка поставщика — это место, где находятся зависимости проекта.
Скрипт автозагрузки
Composer предоставляет скрипт автозагрузки, который вы можете включить в свой проект для достижения автозагрузки.
Включите файл vendor/autoload.php в файл PHP перед каждым экземпляром класса. Этот файл автоматически создается Composer при добавлении первой зависимости.
Создайте и отредактируйте файл test.php:
nano test.php
Добавьте следующие строки кода:
<?php
require __DIR__. '/vendor/autoload.php';
use Cocur\Slugify\Slugify;
$slugify = new Slugify();
echo $slugify->slugify('Hello World, this is a long sentence and I need to make a slug from it!');
Сохраните и закройте файл
Запустите PHP-скрипт:
php test.php
Вы должны получить выходное сообщение, подобное следующему:
hello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it
Обновите зависимости
Чтобы обновить зависимости проекта, выполните следующую команду:
composer update
Вы также можете обновить одну или несколько конкретных библиотек:
composer update vendor/package vendor2/package2
Вывод
В этом руководстве мы увидели, как установить и использовать Composer в Ubuntu 20.04 LTS Focal Fossa.