Введение
Composer — это менеджер зависимостей для PHP (похожий на npm для Node.js или pip для Python ).
С Composer вы можете указать библиотеки PHP, от которых зависит ваш проект, который будет извлекать и управлять всеми библиотеками и зависимостями для вас. Composer используется во всех современных PHP-фреймворках и платформах, таких как Laravel, Symfony, Drupal и Magento.
В этом руководстве объясняется, как установить и использовать Composer в Ubuntu 20.04 LTS Focal Fossa.
Если вы хотите установить Composer на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Установите 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 установлен в вашей системе Ubuntu, давайте посмотрим, как создать проект PHP с помощью Composer.
Первый шаг — создать корневой каталог проекта с помощью команды mkdir и войти в него с помощью команды cd:
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
total 24
-rw-r--r-- 1 noviello noviello 60 Jun 24 16:31 composer.json
-rw-r--r-- 1 noviello noviello 14631 Jun 24 16:31 composer.lock
drwxr-xr-x 6 noviello noviello 4096 Jun 24 16:31 vendor
vendor
— это каталог, в котором хранятся зависимости проекта.composer.lock
— это файл, который хранит информацию обо всех установленных пакетах и их версиях, блокируя проект на определенных версиях.composer.json
— это файл, описывающий ваш проект PHP, включая зависимости PHP и другие метаданные.
Все пакеты PHP, которые можно установить с помощью Composer, перечислены в Packagist.
Composer имеет функции автозагрузки, которые позволяют нам использовать классы PHP без необходимости использования require
или include
.
Создайте файл с именем testing.php
и добавьте следующий код:
<?php
require __DIR__. '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
Давайте пройдемся по коду строка за строкой.
Файл vendor/autoload.php
автоматически генерируется Composer и автоматически загружает все библиотеки.
Следующая строка создает псевдоним Carbon
, а последняя строка выводит текущее время с использованием метода Carbon now
.
Запустите скрипт, набрав:
php testing.php
Вывод должен выглядеть так:
Now: 2020-06-24 16:35:25
Далее, если вам нужно обновить пакеты проекта, введите:
composer update
Приведенная выше команда проверит наличие более новых версий установленных пакетов, и если будет найдена более новая версия, а ограничение версии соответствует указанному в composer.json
, Composer обновит пакет.
Вывод
Мы показали вам, как установить Composer на Ubuntu 20.04 LTS Focal Fossa и как использовать его для создания базового проекта PHP.
Для получения дополнительной информации о Composer посетите страницу официальной документации.