Composer — это менеджер зависимостей для PHP (как npm для Node.js или pip для Python).
Composer подключит все необходимые пакеты PHP, от которых зависит ваш проект, и управляет ими за вас. Он используется во всех современных PHP-фреймворках и платформах, таких как Laravel, Symfony, Drupal и Magento 2.
В этом руководстве описаны шаги по установке Composer на CentOS 8. Если вы спешите и не хотите проверять целостность файла, прокрутите вниз до раздела « Установка Composer — Быстрый способ ».
Содержание
Подготовка
Прежде чем продолжить, убедитесь, что вы выполнили следующие требования:
- Вы вошли в систему как пользователь с привилегиями sudo
- Установите PHP в вашей системе CentOS 8 .
Установка Composer на CentOS
Выполните следующие шаги, чтобы установить Composer на CentOS 8.
-
Установите пакет PHP CLI (интерфейс командной строки) и все другие зависимости с помощью:
sudo dnf install php-cli php-json php-zip wget unzip
-
После установки PHP CLI загрузите скрипт установщика Composer:
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 в каталог
/usr/local/bin
:sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Приведенная выше команда устанавливает
composer
как общесистемную команду, доступную для всех пользователей. Результат будет выглядеть примерно такAll settings correct for using Composer Downloading... Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
Приведенная выше команда устанавливает
composer
как общесистемную команду, доступную для всех пользователей. -
Проверьте установку, распечатав версию Composer:
composer -V
Composer version 1.10.1 2020-03-13 20:34:27
На этом этапе вы успешно установили Composer в свою систему CentOS и можете начать его использовать.
Установка Composer [Быстрый способ]
Выполните следующие шаги, чтобы быстро установить Composer в вашу систему CentOS 8:
-
Установите PHP CLI и Zip:
sudo dnf install php-cli php-json php-zip curl unzip
-
Скачайте Composer с curl:
curl -sS https://getcomposer.org/installer |php
-
Переместите файл Composer в каталог
/usr/local/bin
:sudo mv composer.phar /usr/local/bin/composer
Начало работы с Composer
Теперь, когда Composer установлен в вашей системе CentOS, мы покажем вам, как использовать Composer в проекте PHP.
Начните с создания корневого каталога проекта и перейдите к нему :
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
В этом примере мы будем использовать пакет PHP под названием carbon, чтобы создать пример приложения, которое печатает текущее время.
Выполните следующую команду, чтобы инициализировать новый проект Composer и установить углеродный пакет:
composer require nesbot/carbon
sing version ^2.32 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 4 installs, 0 updates, 0 removals
- Installing symfony/translation-contracts (v2.0.1): Downloading (connecting..Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.15.0): Downloading (100%)
- Installing symfony/translation (v5.0.6): Downloading (100%)
- Installing nesbot/carbon (2.32.1): Downloading (100%)
symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
symfony/translation suggests installing psr/log-implementation (To use logging capability in translator)
Writing lock file
Generating autoload files
3 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Как видно из вышеприведенного вывода, Composer создает файл с именем composer.json
и загружает углерод и все его зависимости.
Если вы укажете каталог вашего проекта , вы увидите, что он содержит два файла composer.json
и composer.lock
и каталог vendor
.
ls -l
-rw-rw-r--. 1 vagrant vagrant 60 Mar 27 18:05 composer.json
-rw-rw-r--. 1 vagrant vagrant 11135 Mar 27 18:06 composer.lock
drwxrwxr-x. 6 vagrant vagrant 82 Mar 27 18:06 vendor
vendor
— это каталог, в котором хранятся зависимости проекта.- Файл
composer.lock
содержит список всех установленных пакетов, включая их версии. -
composer.json
— это файл, который описывает ваш PHP-проект, включая PHP-зависимости и другие метаданные.
Composer имеет возможности автозагрузки, которые позволяют вам использовать классы PHP без необходимости require
операторов require
или include
.
Создайте файл с именем testing.php
и добавьте следующий код:
<?php
require __DIR__ . '/vendor/autoload.php';
use CarbonCarbon;
printf("Now: %s", Carbon::now());
Давайте проанализируем код построчно.
В первой строке после открывающего тега php мы включаем файл vendor/autoload.php
который автоматически загружает все библиотеки.
Затем мы применяем псевдоним CarbonCarbon
как Carbon
. Последняя строка печатает текущее время с использованием метода Carbon now
.
Запустите сценарий, набрав:
php testing.php
Результат должен выглядеть примерно так:
Now: 2020-03-27 22:12:26
Позже, если вы захотите обновить свои пакеты PHP, вы можете просто запустить:
composer update
Приведенная выше команда проверит наличие более новых версий установленных пакетов, и если будет обнаружена более новая версия и ограничение версии совпадает с ограничением, указанным в composer.json
, Composer обновит пакет.
Выводы
Вы узнали, как установить Composer на свой компьютер с CentOS 8. Мы также показали вам, как использовать Composer для создания базового проекта PHP.
Чтобы найти дополнительную информацию о Composer, посетите официальную страницу документации Composer .
Если у вас есть вопросы, оставьте комментарий ниже.