Работа с Composer в OpenServer по умолчанию осуществляется в собственной консоли. Для того чтобы открыть эту консоль необходимо нажать на значок Open Server правой кнопкой мыши в области уведомлений и в открывшемся контекстном меню найти соответствующий пункт.
В консоли для проверки того, что Composer подключен, например, можно ввести команду:
composer
Эта команда также отобразит версию Composer.
Если при выполнении этой команды отобразится сообщение, что версия Composer устарела, то её можно обновить. Осуществляется это посредством выполнения следующей команды:
composer self-update
Пакетный менеджер — это программа для поиска и установки библиотек по их названию.
Пакетный менеджер избавляет от необходимости самостоятельно искать библиотеки, скачивать, распаковывать, разрешать зависимости — все эти задачи он берёт на себя.
В PHP для управления библиотеками используют пакетный менеджер под названием 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 скачивает и устанавливает библиотеки по их имени. Это означает, что сначала нужно «нагуглить» нужную библиотеку, перейти на её сайт, и найти там в описании её имя. Например, название библиотеки может быть таким:
fzaninotto/faker
Теперь мы можем попросить composer установить библиотеку. Для этого введите команду
composer require <имя библиотеки>
Composer загрузит и установит библиотеку в папку vendor
. Останется подключить установленную библиотеку в сценарии и можно её использовать.
Рассмотрим подключения и использования на примере библиотеки для валидации форм — GUMP
. Установим её командой:
composer require wixel/gump
Теперь подключим библиотеку в сценарии, где происходит валидация формы:
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
.
Затем создаём новый объект валидатора и вызываем его методы для передачи правил валидации и проверки формы. На этом всё.