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

Composer — это диспетчер зависимостей для PHP (аналогично npm для Node.js или pip для Python ). Composer подключит все необходимые пакеты PHP, от которых зависит ваш проект, и будет управлять ими за вас.

В этом руководстве мы покажем вам, как установить и использовать Composer на компьютере с Ubuntu 18.04. Те же шаги можно использовать для Ubuntu 16.04.

Подготовка

Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo и у вас установлен PHP в вашей системе Ubuntu 18.04 .

Установка PHP Composer

Если вы торопитесь и не хотите проверять целостность файла, прокрутите вниз до раздела « Установка Composer — Быстрый способ ».

Чтобы установить Composer в вашей системе Ubuntu, выполните следующие действия:

  1. Перед загрузкой и установкой Composer сначала обновите индекс пакетов и установите необходимые требования:

     sudo apt update sudo apt install wget php-cli php-zip unzip
  2. Теперь, когда на нашем компьютере установлен php cli, мы можем загрузить установщик композитора с помощью:

     php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

    Приведенная выше команда загрузит файл composer-setup.php в текущий рабочий каталог .

  3. Затем нам нужно проверить целостность данных скрипта, сравнив хэш SHA-384 скрипта с последним хешем установщика, найденным на странице открытых ключей / подписей Composer .

    Мы будем использовать следующую команду wget, чтобы загрузить ожидаемую подпись последней версии установщика Composer со страницы Composer Github и сохранить ее в переменной с именем 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 . После проверки установщика вы можете перейти к следующему шагу.

  4. Следующая команда установит 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.8.5) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer

    composer устанавливается как общесистемная команда и будет доступен всем пользователям.

  5. Последний шаг — проверить установку:

     composer

    Приведенная выше команда распечатает версию, команды и аргументы Composer.

     ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ / __ `__ / __ / __ / ___/ _ / ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / ____/____/_/ /_/ /_/ .___/____/____/___/_/ /_/ Composer version 1.8.5 2019-04-09 17:46:47 Usage: command [options] [arguments]
Если вы хотите установить Composer для каждого проекта, используйте следующую команду php composer-setup.php которая создаст файл с именем composer.phar в вашем текущем рабочем каталоге. Вы можете использовать композитор, запустив ./composer.phar <command>.

Установка Composer [Быстрый способ]

Используйте следующие команды для быстрой установки Composer в вашей системе Ubuntu:

  1. Установите PHP CLI и Zip:

     sudo apt update && sudo apt install wget php-cli php-zip unzip curl
  2. Скачайте Composer с curl:

     curl -sS https://getcomposer.org/installer |php
  3. Переместите файл Composer в каталог /usr/local/bin :

     sudo mv composer.phar /usr/local/bin/composer

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

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

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

Создайте каталог проекта и переключитесь в него с помощью:

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

Следующим шагом является инициализация нового composer.json с помощью команды composer require <package name> и указание пакета, который мы хотим загрузить.

В этом примере мы создадим образец приложения, которое будет печатать текущее время с помощью пакета под названием carbon .

Выполните следующую команду, чтобы инициализировать новый composer.json и установить пакет углерода:

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 , загрузит и установит углерод и все его зависимости.

Если вы укажете каталог вашего проекта , вы увидите, что он содержит два файла composer.json и composer.lock и каталог vendor .

ls -l
-rw-r--r-- 1 linuxize users   60 Aug 29 00:50 composer.json
-rw-r--r-- 1 linuxize users 6.8K Aug 29 00:50 composer.lock
drwxr-xr-x 5 linuxize users 4.0K Aug 29 00:50 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 файл vendor/autoload.php который был автоматически сгенерирован Composer, который автоматически загрузит все библиотеки.

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

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

php testing.php

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

Now: 2018-08-28 23:47:19

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

composer update

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

Выводы

Вы узнали, как установить Composer на свой компьютер с Ubuntu 18.04. Мы также показали вам, как использовать Composer для создания базового проекта PHP.

Чтобы найти дополнительную информацию о Composer, посетите официальную страницу документации Composer .

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

Оставьте комментарий