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

Composer — это менеджер зависимостей для PHP (как npm для Node.js или pip для Python).

Composer подключит все необходимые пакеты PHP, от которых зависит ваш проект, и управляет ими за вас. Он используется во всех современных PHP-фреймворках и платформах, таких как Laravel, Symfony, Drupal и Magento 2.

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

Подготовка

Прежде чем продолжить, убедитесь, что вы выполнили следующие требования:

Установка Composer на CentOS

Выполните следующие шаги, чтобы установить Composer на CentOS 8.

  1. Установите пакет PHP CLI (интерфейс командной строки) и все другие зависимости с помощью:

     sudo dnf install php-cli php-json php-zip wget unzip
  2. После установки PHP CLI загрузите скрипт установщика Composer:

     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 . После проверки целостности переходите к следующему шагу.

  4. Выполните следующую команду, чтобы установить Composer в каталог /usr/local/bin :

     sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

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

     All settings correct for using Composer Downloading... Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer

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

  5. Проверьте установку, распечатав версию Composer:

     composer -V
     Composer version 1.10.1 2020-03-13 20:34:27

На этом этапе вы успешно установили Composer в свою систему CentOS и можете начать его использовать.

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

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

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

     sudo dnf install php-cli php-json php-zip curl unzip
  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 установлен в вашей системе CentOS, мы покажем вам, как использовать Composer в проекте PHP.

Начните с создания корневого каталога проекта и перейдите к нему :

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

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

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

composer require nesbot/carbon
sing version ^2.32 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 4 installs, 0 updates, 0 removals
  - Installing symfony/translation-contracts (v2.0.1): Downloading (connecting..Downloading (100%)         
  - Installing symfony/polyfill-mbstring (v1.15.0): Downloading (100%)         
  - Installing symfony/translation (v5.0.6): Downloading (100%)         
  - Installing nesbot/carbon (2.32.1): Downloading (100%)         
symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)
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
3 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 vagrant vagrant    60 Mar 27 18:05 composer.json
-rw-rw-r--. 1 vagrant vagrant 11135 Mar 27 18:06 composer.lock
drwxrwxr-x. 6 vagrant vagrant    82 Mar 27 18:06 vendor
  • vendor — это каталог, в котором хранятся зависимости проекта.
  • Файл composer.lock содержит список всех установленных пакетов, включая их версии.
  • composer.json — это файл, который описывает ваш PHP-проект, включая PHP-зависимости и другие метаданные.
Вы можете выполнить поиск пакетов PHP в репозитории Composer Packagist .

Composer имеет возможности автозагрузки, которые позволяют вам использовать классы PHP без необходимости require операторов require или include .

Создайте файл с именем testing.php и добавьте следующий код:

<?php

require __DIR__ . '/vendor/autoload.php';

use CarbonCarbon;

printf("Now: %s", Carbon::now());

Давайте проанализируем код построчно.

В первой строке после открывающего тега php мы включаем файл vendor/autoload.php который автоматически загружает все библиотеки.

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

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

php testing.php

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

Now: 2020-03-27 22:12:26

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

composer update

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

Выводы

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

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

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

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