Composer – это менеджер зависимостей для PHP. Composer будет использовать все необходимые пакеты PHP, от которых зависит ваш проект и управление ими.
В этой статье мы покажем вам, как установить и использовать Composer на сервере Ubuntu 18.04.
Хотя эта статья написана для Ubuntu 18.04, те же самые шаги можно использовать для Ubuntu 16.04.
Предпосылки
Прежде чем продолжить эту статью, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo, и у вас установлен PHP на вашей системе Ubuntu 18.04.
Установка Composer
Чтобы установить Composer в вашу систему Ubuntu, выполните следующие действия:
- Перед загрузкой и установкой Composer сначала нам нужно установить пакет CLI PHP, который доступен в репозиториях Ubuntu:
sudo apt install php-cli
- Теперь, когда у нас установлен php cli на нашей машине, мы можем скачать установщик Composer с помощью:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Приведенная выше команда загрузит файл
composer-setup.php
в текущий рабочий каталог. - Затем нам нужно проверить целостность данных сценария, сравнив хэш-код
SHA-384
с последним хешем установщика, найденным на странице « Публичные ключи/подписи Composer». Мы будем использовать следующую команду wget, чтобы загрузить ожидаемую подпись последнего установщика Composer со страницы Github Composer и сохранить ее в переменной с именемHASH
:HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
Теперь запустите следующую команду, чтобы убедиться, что сценарий установки не поврежден:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Если хеши совпадают, вы увидите следующий вывод:
Installer verified
Если хеши не совпадают, вы увидите
Installer corrupt
. В этом случае вам нужно будет повторно загрузить сценарий установки Composer и дважды проверить значение переменной$HASH
.echo $HASH
. Как только программа установки будет проверена, вы можете продолжить следующий шаг. - Следующая команда установит 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.7.2) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
composer
устанавливается как общесистемная команда, и он будет доступен для всех пользователей. - Последний шаг – проверить установку:
composer
Вышеприведенная команда напечатает версию, команды и аргументы Composer.
______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 1.7.2 2018-08-16 16:57:12 Usage: command [options] [arguments]
Если вы хотите установить Composer для каждого проекта, используйте следующую команду, php composer-setup.php
, которая создаст файл composer.phar
, указанный в вашем текущем рабочем каталоге. Вы можете использовать Composer, запустив./composer.phar <command>.
Начало работы с Composer
Теперь, когда Composer установлен в вашей системе Ubuntu, мы покажем вам, как использовать Composer в проекте PHP.
Первый шаг – создать каталог, который будет корневым каталогом проекта и удерживать файл composer.json
. Этот файл описывает ваш проект PHP, включая зависимости PHP и другие метаданные.
Создайте каталог проекта и переключитесь на него с помощью:
mkdir ~/my-first-composer-project cd ~/my-first-composer-project
Следующим шагом будет инициализация нового composer.json
с помощью команды composer require <package name>
и определение пакета, который мы хотим загрузить.
В этом примере мы создадим пример приложения, которое будет печатать текущее время с помощью пакета под названием carbon.
Выполните следующую команду для инициализации нового composer.json
и установки пакета Carbon:
composer require nesbot/carbon
Using version ^1.33 for nesbot/carbon ./composer.json has been created Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 3 installs, 0 updates, 0 removals - Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%) - Installing symfony/translation (v4.1.4): Downloading (100%) - Installing nesbot/carbon (1.33.0): Downloading (100%) 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
Как видно из выхода выше, Composer создаст файл composer.json
, и он будет загружать и устанавливать carbon и все его зависимости.
Если вы перечисляете директорию вашего проекта, вы увидите, что он содержит два файла composer.json
и composer.lock
, и каталог vendor
.
ls -l
-rw-r--r-- 1 linuxize users 60 Aug 02 14:04 composer.json -rw-r--r-- 1 linuxize users 6.8K Aug 02 14:04 composer.lock drwxr-xr-x 5 linuxize users 4.0K Aug 02 14:04 vendor
- Каталог
vendor
, в котором зависимости проекта сохраняется. composer.lock
содержит список всех установленных пакетов , в том числе точных версий пакетов.- Описание
composer.json
PHP-проекта и всех зависимостей PHP.
Вы можете поискать репозиторий Composer Packagist для пакетов PHP.
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
Carbon.
Запустите скрипт, набрав:
php testing.php
Результат должен выглядеть примерно так:
Текущее время: 2018-08-02 14:25:05
Позже, если вы хотите обновить свои пакеты PHP, вы можете просто запустить:
composer update
В приведенной выше команде будет проверяться более новые версии установленных пакетов, и если будет найдена более новая версия и ограничение версии совпадает с указанным в ней composer.json
, Composer обновит пакет.
Вывод
Вы узнали, как установить Composer на ваш компьютер Ubuntu 18.04. Мы также показали вам, как использовать Composer для создания базового PHP-проекта.
Чтобы найти дополнительную информацию о Composer, посетите официальную страницу документации Composer.
Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий ниже.