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

С легкостью составьте свой проект PHP, позволив композитору управлять всеми зависимостями

Composer - это инструмент управления зависимостями для PHP. Он отличается от традиционного менеджера пакетов, такого как подходящий и днфтаким образом, что он не устанавливает пакеты и библиотеки глобально на общесистемном уровне, а обрабатывает их для каждого проекта отдельно. Таким образом, это диспетчер зависимостей, а не диспетчер пакетов.

Подобно тому, как композитор берет кучу инструментов и размещает их для безупречной работы на концерте, Composer for PHP берет кучу библиотек и фреймворков, упаковывает их для совместной работы и создает прочную основу, на которой может быть реализован проект PHP. составлен.

Предпосылки

Вам нужен доступ к системе Ubuntu 20.04 с некорневым судо учетная запись пользователя. Кроме того, вам необходимо установить некоторые зависимости для Composer, в том числе php-cli для запуска скриптов PHP в вашем терминале, распаковать чтобы помочь Composer извлечь загруженные пакеты и завиток скачать скрипт установки композитора

Чтобы установить все необходимые пакеты, обновите список пакетов Ubuntu, выполнив команду update:

sudo apt update

Затем установите php-cli, распаковать и завиток используя следующую команду:

sudo apt install php-cli распаковать curl

Вам будет предложено подтвердить установку, нажмите Y затем нажмите Enter. После того, как вы выполнили все предварительные требования, вы можете продолжить установку Composer.

Скачайте и установите Composer

Composer предлагает удобный PHP-скрипт для загрузки и установки на ваш компьютер из командной строки. Нам нужно использовать завиток чтобы загрузить этот сценарий, проверьте его подлинность из соображений безопасности, а затем запустите его, чтобы установить Composer.

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

cd ~ curl -sS //getcomposer.org/installer -o composer-setup.php

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

Hash = `curl -sS // composer.github.io / installer.sig`

Затем убедитесь, что вы успешно получили и сохранили хэш в переменной, выполнив:

echo $ Hash

Вы должны получить вывод некоторой случайной строки, такой как эта, с терминала:

Вывод: e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a

Теперь запустите следующий PHP-код, предоставленный Composer, чтобы проверить подлинность установочного скрипта:

php -r "if (hash_file ('SHA384', 'composer-setup.php') === '$ Hash') {echo 'Установщик проверен';} else {echo 'Установщик поврежден'; unlink ('composer-setup .php ');} echo PHP_EOL; "
Вывод: Установщик проверен

Если вы видите какой-либо другой вывод, например Установщик поврежден, тогда вы узнаете, что скрипт поврежден и запускать его небезопасно. Загрузите сценарий еще раз с помощью curl, затем снова выполните код PHP в терминале, чтобы проверить сценарий установки.

Вы можете продолжить установку после успешной проверки установщика. Вы можете установить Install the Composer глобально или локально для одного проекта.

Установить Composer глобально

Чтобы установить Composer глобально как общесистемную команду с именем композитор, выполните следующую команду:

sudo php composer-setup.php --install-dir = / usr / local / bin --filename = композитор

Composer будет установлен в / USR / местные / бен в вашей системе Ubuntu 20.04, и вы увидите следующий результат:

Вывод: Все настройки верны для использования Composer Downloading ... Composer (версия 1.10.7) успешно установлен в: / usr / local / bin / composer Используйте его: php / usr / local / bin / composer 

Убедитесь, что Composer установлен правильно и работает, запустив:

композитор
Вывод: ______ / ____ / ___ ____ ___ ____ ____ ________ _____ / / / __ \ / __ `__ \ / __ \ / __ \ / ___ / _ \ / ___ / / / ___ / / _ / / / / / / / / _ / / / _ / (__) __ / / \ ____ / \ ____ / _ / / _ / / _ / .___ / \ ____ / ____ / \ ___ / _ / / _ / Версия композитора 1.10.7 2020-06- 03 10:03:56 Использование: команда [параметры] [аргументы] 

Вы успешно установили композитор в своей системе Ubuntu 20.04. Теперь вы можете начать использовать Composer для управления, обновления и установки зависимостей в ваших проектах PHP немедленно.

Локальная установка Composer

Локальная установка Composer полезна, когда у вас нет разрешения на его установку на общесистемном уровне или если вам нужен Composer только для одного проекта. Чтобы установить композитор локально, запустите:

php composer-setup.php

Приведенная выше команда создаст новый файл в вашем текущем каталоге с именем composer.phar. Вам нужно будет переместить этот файл в корневую папку проекта, чтобы использовать функции Composer. Этот файл можно запустить с помощью команды, показанной ниже.

php composer.phar

Основы композитора

Теперь, когда на вашем компьютере с Ubuntu 20.04 установлен Composer, давайте рассмотрим некоторые основы Composer. Composer стремится упростить установку и обновление зависимостей, и для этого он создает множество файлов в корневом каталоге проекта. Давайте посмотрим на структуру каталогов проекта, использующего Composer для управления зависимостями.

Корневая структура проекта Composer:ProjectRoot / ├── composer.json ├── composer.lock ├── Project.php ├── composer.phar * Только если вы установили Composer локально └── продавец ├── autoload.php ├── композитор │ ├── ClassLoader.php │ ├── ЛИЦЕНЗИЯ │ ├── autoload_classmap.php │ ├── ..... ├── ....... 
  • В composer.json Файл, расположенный в корневом каталоге проекта, хранит всю информацию о зависимостях (пакетах), необходимых для проекта.
  • В composer.lock содержит информацию о пакетах, версия которых заблокирована для проекта.
  • продавец - это каталог, в котором хранятся все пакеты, в нем также есть некоторые сценарии PHP, такие как autoload.php, что облегчает автоматическое включение пакетов в каталог поставщика.
  • Наконец, если вы установили Composer локально, у вас должен быть composer.phar файл в каталоге проекта для установки пакетов.

Все эти файлы создаются, когда вы используете композитор или php composer.phar команда для загрузки и установки пакетов для вашего проекта в первый раз. Итак, давайте посмотрим на работу Composer, создав демонстрационный проект.

Создание вашего первого проекта с помощью Composer

Первый шаг - создать корневой каталог для вашего проекта, поэтому создайте его с помощью mkdir команду и перейдите к ней с помощью компакт диск команда:

mkdir ~ / ComposerDemo cd ~ / ComposerDemo

Теперь нам нужно найти и установить пакеты / библиотеки, необходимые для сборки нашего демонстрационного проекта. Packagist - это основной репозиторий Composer, в котором перечислены все общедоступные пакеты PHP, которые можно установить с помощью Composer.

В этом примере мы будем использовать пакет PHP с именем тортphp / хронос, это простое расширение API для даты и времени. Таким образом, чтобы создать новый проект Composer и установить пакет Chronos, выполните следующую команду:

композитору требуется тортphp / chronos
Вывод: Использование версии ^ 2.0 для cakephp / chronos ./composer.json было создано Загрузка репозиториев композитора с информацией о пакете Обновление зависимостей (включая require-dev) Операции с пакетами: 1 установка, 0 обновлений, 0 удалений - Установка cakephp / chronos (2.0.5 ): Загрузка (100%) Запись файла блокировки Создание файлов автозагрузки 

В требовать option выбирает и устанавливает желаемый пакет и генерирует файлы и каталоги, такие как composer.json, composer.lock и продавец в корневом каталоге проекта. Вы увидите это тортphp / хронос добавлен в composer.json если вы запустите следующую команду:

кошка composer.json
Вывод: {"требуется": {"cakephp / chronos": "^ 2.0"}} 

Затем позвольте нам использовать Chronos в нашем демонстрационном проекте, открыть и создать файл PHP с именем demo.php с использованием нано:

nano demo.php

Затем добавьте следующий код в demo.php, вторая строка, которая включает поставщик / autoload.php - это файл Composer, который автоматически загружает все пакеты и библиотеки, установленные для проекта. Сохраните файл, нажав Ctrl + O а затем выйдите из редактора nano, нажав Ctrl + X.

Выполнить demo.php выполнив следующую команду:

php demo.php
Вывод: Сейчас: 2020-06-23 17:07:45

В будущем, когда вам потребуется обновить пакеты и библиотеки вашего проекта, просто выполните следующую команду:

композитор обновление

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

Мы рассмотрели, как установить Composer на машину с Ubuntu 20.04, и познакомились с основами, которые вам нужно знать о Composer. Теперь вы можете попробовать создавать новые проекты, добавляя необходимые пакеты с помощью поиска на Packagist. Если вы хотите узнать больше о Composer и его опциях, перейдите на страницу онлайн-документации Composer.