ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить и использовать PHP Composer в Debian 10

Как установить и использовать Composer на Debian 8

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

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

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

 

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

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

sudo apt update
sudo 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, вы можете обновить установку, используя следующую команду:

sudo composer self-update

 

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

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

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

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

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

 

Затем мы инициализируем новый файл composer.json с помощью команды composer require <package name> и укажем пакет, который хотим загрузить. В этом примере мы создадим образец приложения, которое будет печатать текущее время, используя пакет с именем 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, каталог vendor.

ls -l

 

-rw-r--r-- 1 andreyex users   60 Aug 18 20:02 composer.json
-rw-r--r-- 1 andreyex users 6851 Aug 18 20:02 composer.lock
drwxr-xr-x 5 andreyex users 4096 Aug 18 20:02 vendor

 

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

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

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

<?php

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

use Carbon\Carbon;

printf("Сейчас: %s", Carbon::now());

 

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

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

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

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

php testing.php

 

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

Сейчас: 2020-08-18 20:08:45

 

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

composer update

 

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

 

Вывод

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

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

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

Exit mobile version