Пакетний менеджер - це програма для пошуку та встановлення бібліотек за їхньою назвою.
Пакетний менеджер позбавляє від необхідності самостійно шукати бібліотеки, завантажувати, розпаковувати, вирішувати залежності - всі ці завдання він бере на себе.
💡 Що вміє пакетний менеджер?
Знаходити бібліотеки за іменем, завантажувати і розпаковувати їх;
Автоматично завантажувати і встановлювати залежності для кожної бібліотеки;
Підключати класи бібліотек всередині сценаріїв;
Оновлювати бібліотеки разом із залежностями.
У PHP для керування бібліотеками використовують пакетний менеджер Composer. Це потужний і зручний інструмент, він легко впорається з усіма завданнями зі встановлення та вирішення залежностей у бібліотек.
💡 Як почати роботу з Composer:
Завантажте Composer для Windows. Це звичайний інсталяційний файл із режимом "майстра", який проведе вас процесом встановлення. Наприкінці перевірте роботу, відкривши командний рядок. Якщо виконати команду composer, то побачите довгий перелік його можливостей.
Ініціалізація в проєкті
Перейдемо в робочу папку проєкту (якщо ви встановили OpenServer у стандартну папку, то, наприклад, так: cd C:\ospanel\domains\localhost). Виконаємо послідовно команди composer init і composer install. На цьому ініціалізація закінчена. У проєкті з'явилася нова папка з ім'ям vendor. Її одразу бажано покласти до файлу .gitignore для того щоби не закомітити випадково всі бібліотеки.
Підключення сценарію автозавантаження
Composer спрощує не тільки встановлення бібліотек, а й їхнє використання. Він підключає всі необхідні файли класів бібліотеки. За це відповідає спеціальний сценарій autoload.php - єдиний файл, який необхідно підключити для використання будь-яких бібліотек.
autoload.php використовує механізм "автозавантаження". Він перехоплює звернення до класів бібліотек і підключає всі необхідні сценарії "на льоту".
Щоб це все працювало, підключіть autoload.php у вашому сценарії:
require 'vendor/autoload.php';
Composer завантажує і встановлює бібліотеки за їхнім ім'ям. Щоб дізнатися ім'я бібліотеки, перейдіть на її сайт і знайдіть в описі ім'я. Наприклад, назва однієї з бібліотек: fzaninotto/faker
Для встановлення бібліотеки введіть команду 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.
Потім створюємо новий об'єкт валідатора і викликаємо його методи для передачі правил валідації та перевірки форми. Усе готово.