Composer — это диспетчер зависимостей для PHP (аналогично npm для Node.js или pip для Python ).
С помощью Composer вы можете указать библиотеки PHP, от которых зависит ваш проект, и он будет извлекать и управлять всеми библиотеками и зависимостями за вас. Composer используется во всех современных PHP-фреймворках и платформах, таких как Laravel, Symfony, Drupal и Magento.
В этом руководстве объясняется, как установить и использовать Composer в Ubuntu 20.04.
Содержание
Установка PHP Composer в Ubuntu
Перед установкой Composer убедитесь, что в вашей системе установлены все необходимые требования:
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 глобально как общесистемную команду, которая будет доступна для всех пользователей, просто поместите файл в каталог, который находится в системном
PATH
. Выполните следующую команду, чтобы установить 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.10.7) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/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 установлен в вашей системе Ubuntu, давайте посмотрим, как создать проект PHP с помощью Composer.
Первый шаг — создать корневой каталог проекта и перейти к нему :
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
В этом примере мы будем использовать пакет PHP под названием carbon, чтобы создать пример приложения, которое печатает текущее время.
Выполните следующую команду, чтобы инициализировать новый проект Composer и установить углеродный пакет:
composer require nesbot/carbon
Using version ^2.35 for 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.2): Downloading (100%)
- Installing symfony/polyfill-php80 (v1.17.0): Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.17.0): Downloading (100%)
- Installing symfony/translation (v5.1.2): Downloading (100%)
- Installing nesbot/carbon (2.35.0): Downloading (100%)
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
загружает и устанавливает углерод и все его зависимости.
Если вы укажете каталог вашего проекта , вы увидите, что он содержит два файла composer.json
и composer.lock
и каталог vendor
.
ls -l
-rw-rw-r--. 1 linuxize linuxize 60 Mar 27 18:05 composer.json
-rw-rw-r--. 1 linuxize linuxize 11135 Mar 27 18:06 composer.lock
drwxrwxr-x. 6 linuxize linuxize 82 Mar 27 18:06 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());
Давайте проанализируем код построчно.
Файл vendor/autoload.php
автоматически создается Composer и автоматически загружает все библиотеки.
Следующая строка создает псевдоним Carbon
а последняя строка печатает текущее время с использованием метода Carbon now
.
Запустите сценарий, набрав:
php testing.php
Результат должен выглядеть примерно так:
Now: 2020-06-17 20:41:04
Позже, если вам потребуется обновить пакеты проекта, введите:
composer update
Приведенная выше команда проверит наличие более новых версий установленных пакетов, и если будет обнаружена более новая версия и ограничение версии совпадает с ограничением, указанным в composer.json
, Composer обновит пакет.
Выводы
Мы показали вам, как установить Composer в Ubuntu 20.04 и как использовать его для создания базового проекта PHP.
Для получения дополнительной информации о Composer посетите официальную страницу документации .
Если у вас есть вопросы, оставьте комментарий ниже.