Composer: пакетный менеджер для PHP
Пакетный менеджер — это программа для поиска и установки библиотек по их названию.
Пакетный менеджер избавляет от необходимости самостоятельно искать библиотеки, скачивать, распаковывать, разрешать зависимости — все эти задачи он берёт на себя.
Что умеет пакетный менеджер?
- Находить библиотеки по имени, скачивать и распаковывать их;
- Автоматически скачивать и устанавливать зависимости для каждой библиотеки;
- Подключать классы библиотек внутри сценариев;
- Обновлять библиотеки вместе с зависимостями.
Composer: пакетный менеджер для PHP
В PHP для управления библиотеками используют пакетный менеджер под названием Composer. Это мощный и удобный инструмент, который позволит навсегда забыть про головную боль, связанную с поиском, установкой и разрешением зависимостей у библиотек.
Как начать работу с Composer
- Скачать Composer;
- Инициализировать его в проекте;
- Подключить файл автозагрузки в нужный сценарии;
- Установить нужную библиотеку.
Установка
Скачате Composer для Windows
. Это обычный установочный файл с режимом «мастера», который проведёт вас по всему процессу установки. В конце можно будет проверить его работу, открыв командную строку. Если выполнить команду composer
, то вы увидите длинный перечень его возможностей.
Инициализация в проекте
Продолжим работу с командной строкой. Сначала перейдём в рабочую папку проекта (если вы установили OpenServer в стандартную папку, то, например, так: cd C:\ospanel\domains\localhost
). Теперь выполним последовательно команды composer init
и composer install
. На этом инициализация закончена. Можно заметить, что в проекте появилась новая папка с именем vendor
.
Подключение сценария автозагрузки
Composer упрощает не только установку библиотек, но и их использование. Он берёт на себя подключение всех необходимых файлов классов библиотеки. За это отвечает специальный сценарий autoload.php
.
Сценарий autoload.php — единственный файл, который необходимо подключить для использования любых библиотек.
autoload.php использует механизм «автозагрузки». Он перехватывет обращение к классам библиотек и подключает все необходимые сценарии «на лету». Чтобы это всё работало подключите autoload.php в вашем сценарии:
require_once "vendor/autoload.php";
Установка библиотеки из Composer
Composer скачивает и устанавливает библиотеки по их имени. Это означает, что сначала нужно «нагуглить» нужную библиотеку, перейти на её сайт, и найти там в описании её имя. Например, название библиотеки может быть таким: fzaninotto/faker
Теперь мы можем попросить composer установить библиотеку. Для этого введите команду composer require <имя библиотеки>
. Composer загрузит и установит библиотеку в папку vendor
. Останется подключить установленную библиотеку в сценарии и можно её использовать.
Подключение библиотеки в сценариях
Рассмотрим подключения и использования на примере библиотеки для валидации форм — GUMP
. Установим её командой: composer require wixel/gump
.
Теперь подключим библиотеку в сценарии, где происходит валидация формы:
<?php
require 'vendor/autoload.php';
$rules = [
'email' => 'required|valid_email',
'password' => 'required|min_len,8',
'login' => 'required|alpha_numeric',
'phone' => 'phone_number'
];
$gump = new GUMP('ru');
$gump->validation_rules($rules);
$validated_data = $gump->run($_POST);
Сначала мы подключаем универсальный файл автозагрузки, который отвечает за подключение классов библиотеки:vendor/autoload.php
.
Затем создаём новый объект валидатора и вызываем его методы для передачи правил валидации и проверки формы. На этом всё.