Composer — это диспетчер зависимостей для PHP (аналогично npm для Node.js или pip для Python ). Composer подключит все необходимые пакеты PHP, от которых зависит ваш проект, и будет управлять ими за вас.
В этом руководстве представлены шаги, необходимые для установки Composer в системах Debian 9. Мы также расскажем, как использовать Composer для создания проектов PHP и управления ими.
Содержание
Подготовка
Прежде чем продолжить изучение этого руководства, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo и у вас установлен PHP в вашей системе Debian 9 .
Установка Composer
Выполните следующие действия, чтобы установить Composer в системах Debian:
-
Сначала обновите индекс пакетов и установите необходимые пакеты с помощью следующих команд:
sudo apt update
sudo apt install php-cli 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 и дважды проверить значение переменной$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.8.5) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
На этом этапе в вашей системе Debian установлен Composer. Он устанавливается как общесистемная команда и будет доступен всем пользователям.
-
Чтобы проверить установку, просто введите:
composer
Приведенная выше команда распечатает версию, команды и аргументы Composer.
______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ / __ `__ / __ / __ / ___/ _ / ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / ____/____/_/ /_/ /_/ .___/____/____/___/_/ /_/ Composer version 1.8.5 2019-04-09 17:46:47 Usage: command [options] [arguments]
php composer-setup.php
которая создаст файл с именем composer.phar
в вашем текущем рабочем каталоге . Вы можете использовать композитор, запустив ./composer.phar <command>.
Начало работы с Composer
Теперь, когда в вашей системе Debian установлен Composer, мы покажем вам, как создать проект PHP с помощью Composer.
Начните с создания каталога, который будет корнем проекта и будет содержать файл composer.json
. Этот файл описывает ваш PHP-проект, включая PHP-зависимости и другие метаданные.
Создайте каталог проекта и переключитесь в него с помощью:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
Затем мы инициализируем новый файл composer.json
с помощью команды composer require <package name>
и укажем пакет, который мы хотим загрузить. В этом примере мы создадим образец приложения, которое будет печатать текущее время с помощью пакета под названием carbon .
Выполните следующую команду, чтобы инициализировать новый файл composer.json
и установить пакет carbon:
composer require nesbot/carbon
Using version ^1.34 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)
- Installing symfony/translation (v3.4.17): Downloading (100%)
- Installing nesbot/carbon (1.34.0): 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
Composer создаст файл composer.json
загрузит и установит углерод и все его зависимости.
Если вы укажете каталог вашего проекта с помощью команды ls
, вы увидите, что он содержит два файла composer.json
и composer.lock
и каталог vendor
.
ls -l
-rw-r--r-- 1 linuxize users 60 Oct 16 21:02 composer.json
-rw-r--r-- 1 linuxize users 6851 Oct 16 21:02 composer.lock
drwxr-xr-x 5 linuxize users 4096 Oct 16 21:02 vendor
vendor
— каталог, в котором хранятся зависимости проекта.-
composer.lock
— файл, содержащий список всех установленных пакетов, включая версию пакетов. -
composer.json
— файл с описанием PHP-проекта и всех PHP-зависимостей.
Composer предоставляет возможности автозагрузки, которые позволяют нам использовать классы PHP без необходимости require
или include
файлы.
Создайте файл с именем testing.php
и вставьте следующий код:
<?php
require __DIR__ . '/vendor/autoload.php';
use CarbonCarbon;
printf("Now: %s", Carbon::now());
Давайте проанализируем код построчно.
В первой строке после открывающего тега php мы vendor/autoload.php
файл vendor/autoload.php
который был автоматически сгенерирован Composer. Этот файл автоматически загрузит все необходимые библиотеки.
Затем мы применяем псевдоним CarbonCarbon
как Carbon
а в последней строке мы печатаем текущее время, используя метод Carbon now
.
Запустите сценарий, набрав:
php testing.php
Результат должен выглядеть примерно так:
Now: 2018-10-16 21:08:45
Позже, если вам потребуется обновить пакеты проекта, введите:
composer update
Приведенная выше команда проверит наличие более новых версий установленных пакетов, и если будет обнаружена более новая версия и ограничение версии совпадает с тем, что указано в composer.json
, Composer обновит пакет.
Выводы
Вы узнали, как установить Composer на свой компьютер Debian 9. Мы также показали вам, как использовать Composer для создания базового проекта PHP. Чтобы найти дополнительную информацию о Composer, посетите официальную страницу документации Composer .
Если у вас есть вопросы, оставьте комментарий ниже.