Пакетный менеджер — это программа для поиска и установки библиотек по их названию.

Пакетный менеджер избавляет от необходимости самостоятельно искать библиотеки, скачивать, распаковывать, разрешать зависимости — все эти задачи он берёт на себя.

Что умеет пакетный менеджер

  • скачивать и распаковывать библиотеки по их имени;
  • автоматически скачивать и устанавливать зависимости каждой библиотеки;
  • подключать классы библиотек внутри сценариев;
  • обновлять библиотеки вместе с зависимостями.

Composer: пакетный менеджер для PHP

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

Как начать работу с Composer

Потребуется выполнить следующий список действий:

  • скачать сам Composer;
  • выполнить его инициализацию в проекте;
  • подключить в нужный сценарии файл автозагрузки;
  • установить необходимую библиотеку.

Установка

Скачай Composer для Windows по этой прямой ссылке: https://getcomposer.org/Composer-Setup.exe
Это обычный установщик с режимом «мастера», который проведёт по всему процессу установки. По её окончанию можно будет проверить его работу, открыв командную строку. Если выполнить команду composer, то результатом будет длинный перечень его возможностей.

Инициализация в проекте

Продолжаем работу в командной строке. Здесь вначале перейдём в рабочую папку проекта (например так: cd C:\ospanel\domains\localhost). Теперь выполним последовательно команды composer init и composer install. На этом инициализация закончена. Можно заметить, что в проекте появилась новая папка с именем vendor.

Подключение сценария автозагрузки

Composer упрощает не только установку библиотек, но и их использование. Он берёт на себя подключение всех необходимых файлов классов библиотеки. За это отвечает специальный сценарий autoload.php.
Сценарий autoload.php — это единственный файл, который необходимо подключить для использования любых библиотек.

autoload.php использует механизм «автозагрузки». Он перехватывет обращение к классам библиотек и подключает все необходимые сценарии. Чтобы это всё работало подключите его в своём сценарии:

require_once "vendor/autoload.php";

Установка библиотеки из Composer

Composer скачивает и устанавливает библиотеки по их имени. Это очевидным образом означает, что вначале нужную библиотеку надо «нагуглить», перейти на её сайт и найти там в описании её имя. Например название библиотеки может быть таким: fzaninotto/faker

Теперь мы можем попросить composer установить библиотеку. Делается это командой: composer require <имя библиотеки>. Выполнится загрузка и установка библиотеки в папку 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.

Затем создаётся новый объект валидатора и вызываются его методы для передачи правил валидации и выполнении непосредственно проверки формы. На этом всё.