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

Composer подтянет все необходимые пакеты PHP, от которых зависит ваш проект, и будет управлять ими за вас. Он используется во всех современных PHP-фреймворках и платформах, таких как Laravel, Symfony, Drupal и Magento.

В этой статье объясняется, как установить Composer в системах Debian 10. Мы также расскажем, как использовать Composer для создания проектов PHP и управления ими.

Установка Composer на Debian

Перед установкой Composer убедитесь, что в вашей системе Debian установлены все необходимые пакеты:

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

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

Загрузите установщик с помощью wget:

wget -O composer-setup.php https://getcomposer.org/installer

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

Composer — это CLI-приложение с одним файлом, которое можно установить глобально или как часть проекта. Для глобальной установки требуются привилегии sudo.

Чтобы установить Composer глобально как общесистемную команду, которая будет доступна для всех пользователей, просто поместите файл в каталог, который находится в системном PATH. Следующая команда устанавливает Composer в каталог /usr/local/bin:

# php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Вывод

All settings correct for using Composer
Downloading...

Composer (version 1.10.10) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Теперь вы можете использовать Composer, запустив composer в своем терминале.

Чтобы установить Composer локально, загрузите файл в корневой каталог вашего проекта:

php composer-setup.php --install-dir=/path/to/project

Эта команда загрузит файл с именем composer.phar. Чтобы использовать Composer, перейдите в каталог проекта и запустите php composer.phar.

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

composer self-update

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

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

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

Выполните следующие команды, чтобы создать каталог проекта и переключиться на него с помощью:

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

Далее мы инициализируем новый файл composer.json с помощью команды composer require и укажем пакет, который хотим загрузить. В этом примере мы создадим пример приложения, которое будет печатать текущее время, используя пакет с именем carbon.

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

composer require 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.3): Downloading (100%)         
  - Installing symfony/polyfill-php80 (v1.18.1): Downloading (100%)         
  - Installing symfony/polyfill-mbstring (v1.18.1): Downloading (100%)         
  - Installing symfony/translation (v5.1.3): Downloading (100%)         
  - Installing nesbot/carbon (2.38.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
5 packages you are using are looking for funding.
Use the `composer fund` command to find out more

Как показано в выходных данных, Composer создает файл composer.json, загружает и устанавливает carbon и все его зависимости.

Если вы укажете каталог своего проекта с помощью ls , вы увидите, что он содержит два файла composer.json и composer.lock, а также каталог поставщика.

ls -l

Вывод

-rw-r--r-- 1 linuxize users   60 Aug 17 21:02 composer.json
-rw-r--r-- 1 linuxize users 6851 Aug 17 21:02 composer.lock
drwxr-xr-x 5 linuxize users 4096 Aug 17 21:02 vendor
  • vendor — каталог, в котором хранятся зависимости проекта.
  • composer.lock — файл, содержащий список всех установленных пакетов, включая версии пакетов.
  • composer.json — файл, описывающий проект PHP и все зависимости PHP.

Вы можете выполнить поиск пакетов PHP в репозитории Composer Packagist.

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

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

<?php

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

use Carbon\Carbon;

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

Давайте проанализируем код построчно

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

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

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

php testing.php

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

Now: 2020-08-17 21:08:45

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

composer update

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

Заключение

Мы показали вам, как установить Composer на Debian 10 и как использовать его для создания базового проекта PHP.

Для получения дополнительной информации о Composer посетите страницу официальной документации.

Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий ниже.

К вопросу о функционале

Источник

От alex

Обучаемый.