
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 updatesudo 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:sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composerAll 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 локально, загрузите файл в корневой каталог вашего проекта:
sudo php composer-setup.php --install-dir=/path/to/projectБудет загружен файл с именем
composer.phar. Чтобы использовать Composer, перейдите в каталог проекта и выполнитеphp composer.phar
Когда станет доступна новая версия Composer, вы можете обновить установку с помощью следующей команды:
sudo composer self-update
Начало работы с Composer
Теперь, когда Composer установлен в вашей системе Debian, мы покажем вам, как создать PHP-проект.
Для начала создайте корневой каталог проекта и разместите в нём файл composer.json . Этот файл описывает ваш PHP-проект, включая зависимости PHP и другие метаданные.
Выполните следующие команды, чтобы создать каталог проекта и перейти в него:
mkdir ~/my-first-composer-projectcd ~/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 , а также каталог vendor .
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-классы без необходимости require или include файлы.
Создайте файл с именем testing.php и вставьте следующий код:
php require __DIR__ . '/vendor/autoload.php' ; use CarbonCarbon ; printf ( "Now: %s" , Carbon :: now ());
Давайте проанализируем код строка за строкой.
В первой строке после открывающего тега php мы подключаем файл vendor/autoload.php , автоматически сгенерированный Composer. Этот файл автоматически загрузит все необходимые библиотеки.
Далее мы присваиваем CarbonCarbon псевдоним Carbon , а в последней строке выводим текущее время с использованием метода Carbon now .
Запустите скрипт, введя:
php testing.php
Вывод должен выглядеть примерно так:
Now: 2020-08-17 21:08:45
Позже, если вам потребуется обновить пакеты проекта, введите:
composer update
Приведенная выше команда проверит наличие новых версий установленных пакетов, и если будет найдена более новая версия и ограничение версии совпадает с указанным в файле composer.json , Composer обновит пакет.
Заключение
Мы показали вам, как установить Composer в Debian 10 и как использовать его для создания простого PHP-проекта.
Более подробную информацию о Composer можно найти на официальной странице документации .
Если у вас есть вопросы, пожалуйста, оставьте комментарий ниже.
Composer php Debian Не используете Debian 10?
Выберите другую ОС: центос 7 центос 8 Debian9 убунту 18.04 убунту 20.04
Связанные руководства
- Как установить и использовать PHP Composer в Debian 9
- Как установить и использовать PHP Composer в Ubuntu 20.04
- Как установить и использовать PHP Composer на CentOS 8
- Как установить PHP на Debian 10 Linux
- Как установить Laravel на Ubuntu 18.04
- Как установить Magento 2 на Ubuntu 18.04
- Как установить и защитить phpMyAdmin с помощью Apache в Debian 9