В этом руководстве мы пройдем этапы установки и использования Composer на компьютере с CentOS 7.
Предпосылки
Убедитесь, что вы выполнили следующие предварительные условия, прежде чем продолжить этот учебник:
- Вы вошли как пользователь с привилегиями sudo
- PHP 7 установлена на вашем CentOS 7 системы.
Установка Composer на CentOS
Следующие шаги описывают, как установить Composer в системе CentOS 7.
-
Сначала установите пакет PHP CLI (интерфейс командной строки) и все другие зависимости с помощью:
sudo yum install php-cli php-zip wget unzip
-
После установки 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
-
Выполните следующую команду, чтобы установить 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
Команда выше напечатает версию Composer, команды и аргументы.______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 1.8.5 2019-04-09 17:46:47 Usage: command [options] [arguments]
php composer-setup.php
которая создаст файл с именем composer.phar
в вашем текущем рабочем каталоге. Вы можете использовать композитор, запустив./composer.phar <command>.
Начало работы с Composer
Теперь, когда Composer установлен в вашей системе CentOS, мы покажем вам, как использовать Composer в проекте PHP.
Начните с создания каталога, который будет корневым каталогом проекта, и удерживайте composer.json
файл.
composer.json
Файл описывает ваш проект PHP, включая зависимости PHP и другие метаданные.
Создайте каталог проекта и переключитесь на него :
mkdir ~/my-first-composer-projectcd ~/my-first-composer-project
Выполните следующую команду, чтобы инициализировать новый проект Composer и установить пакет углерода:
composer require nesbot/carbon
Using version ^2.2 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 (2.2.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.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.
Composer предоставляет возможности для автозагрузки , которые позволяют нам использовать PHP классы без необходимости использования require
или include
файлов.
Создайте файл с именем testing.php
и добавьте следующий код:
<pre"><?php
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
printf ("Now: %s", Carbon::now());
Давайте проанализируем код построчно.
В первой строке после открывающего тега php мы включаем vendor/autoload.php
файл, автоматически сгенерированный Composer, который будет автоматически загружать все библиотеки.
Далее, мы создаем псевдонимы, Carbon\Carbon
как Carbon
и в последней строке, мы печатаем текущее время, используя now
метод Carbon .
Запустите скрипт, набрав:
php testing.php
Вывод должен выглядеть примерно так:
<pre">Now: 2018-09-26 20:08:18
Позже, если вы хотите обновить ваши пакеты PHP, вы можете просто запустить:
composer update
Приведенная выше команда проверит наличие более новых версий установленных пакетов, и, если найдена более новая версия и ограничение версии совпадает с указанным в composer.json
, Composer обновит пакет.
Заключение
Вы узнали, как установить Composer на вашем компьютере с CentOS 7. Мы также показали вам, как использовать Composer для создания базового проекта PHP.
Чтобы найти больше информации о Composer, посетите официальную страницу документации Composer .