Composer PHP — это скрипт, который представляет собой пакетный менеджер и менеджер зависимостей для PHP. С ним вам не нужно самостоятельно искать и устанавливать нужные для проекта библиотеки и компоненты, а также обновлять их вручную. Все это сделает сама утилита. Без использования Композера сложно представить современную PHP-разработку. Сейчас в 99 % случаев никто не пишет собственные фреймворки и библиотеки — в открытом доступе есть масса готовых реализаций, которые нужно просто скачать и подключить к вашему проекту. Однако многие из таких библиотек, в свою очередь, опираются на написанные другими авторами PHP-пакеты — это называется зависимостями. Композер автоматически отслеживает все зависимости и выполняет за разработчика рутинную работу по скачиванию, установке и обновлению всех этих пакетов. Это существенно ускоряет процесс разработки и распространения кода.
Composer PHP работает со всеми популярными движками сайтов: Opencart, Wordpress, Drupal, MODX и другими, а также поддерживает PHP-фреймворки Symfony, Laravel и Yii2.
Как работает PHP Composer
Представьте, что для проекта вы скачали определенную библиотеку или фреймворк, но у него есть пакетные зависимости — значит, нужно скачать и настроить соответствующие компоненты. В свою очередь, у зависимых пакетов тоже есть библиотеки, без которых они не будут работать, а у этих библиотек — свои зависимости. Без менеджера зависимостей вам пришлось бы все это скачивать и устанавливать самостоятельно. Но если есть Композер, его скрипт autoload php composer обнаружит установленную вами библиотеку, после чего автоматически скачает и настроит все пакеты, фреймворки и библиотеки. Пакеты программа ищет и скачивает из репозитория packagist.org (по умолчанию), но можно указать и другие.
Возможности Composer:
- с его помощью можно быстро найти и скачать нужную библиотеку, а установит ее автоматически сама утилита;
- так как установка производится в ту директорию, откуда была дана команда инсталляции, можно создавать несколько папок в проекте с разными версиями библиотек. Или же управлять несколькими проектами;
- после скачивания и установки библиотеки (пакета, фреймворка) программа сама найдет, скачает, установит и настроит зависимости к ней;
- Композер автоматически обновляет установленные компоненты, а также их зависимости;
- для установки может использоваться не только репозиторий по умолчанию, но и другие;
- с помощью команд Композера можно быстро удалить определенную библиотеку или другой пакет.
Все пакеты программа хранит в папке vendor. Также полезным будет знать, что главный конфигурационный файл менеджера — одноименный файл с расширением .json. А в аналогичном файле с расширением .lock хранится вся история загрузок и версий пакетов — при переносе Композера на другой хостинг данный файл необходимо скопировать и также перенести.
Как установить Composer на хостинг
Прежде всего уточните у вашего хостинг-провайдера — возможно, Composer PHP уже установлен на хостинге по умолчанию. Все действия по установке производятся через терминал. Чтобы установить пакетный менеджер на сервер:
- Для начала подключаемся к серверу по SSH: прописываем в терминале команду ssh, а также логин и адрес сервера в виде: login@123.456.789.012, где login — это логин вашей учетной записи на сервере, а 123.456.789.012 — IP-адрес сервера
- Далее переходим в корневой каталог аккаунта:
cd ~ - И создаем в нем каталог bin, в который будем устанавливать программу:
mkdir -p bin - Переходим в новый созданный каталог:
cd bin - Загружаем программу с официального сайта:
curl -sS https://getcomposer.org/installer > composer-setup.php - Снова переходим в корневой каталог:
cd ~ - И запускаем установку менеджера пакетов:
путь_к_файлу_php bin/composer-setup.php —install-dir=bin —filename=composer, где вместо путь_к_файлу_php вы должны прописать путь к файлу php на сервере
После установки прервите соединение по SSH и подключитесь заново. Затем проверьте, корректно ли установился менеджер зависимостей. Для этого введите в терминал команду — наименование программы. Если установка Composer прошла удачно — в окне терминала появится заставка утилиты и номер ее версии.
Использование Composer
Репозиторий пакетов Composer PHP не имеет GUI-интерфейса. Взаимодействовать с ним можно только по SSH. С помощью команд можно управлять всеми пакетами и зависимостями сразу, по одиночке и по нескольку штук. Чтобы перечислить в команде несколько пакетов — их нужно указать через пробел. Любая команда по управлению Композером начинается со слова «composer», а уже дальше прописываются директивы. Самые распространенные:
- require vendor/name — установить пакет. Здесь vendor — наименование автора (поставщика) библиотеки, а name — имя самой библиотеки или пакета.
Например, если мы хотим установить пакет twig, то пишем require «twig/twig:^2.0»; - remove vendor/name — удалить пакет. Аналогично, vendor — наименование поставщика, а name — имя пакета;
- update vendor/name — обновить определенный пакет и его зависимости;
- install — команда установки сразу всех пакетов;
- update — команда обновления всех пакетов и зависимостей;
- self-update — обновление самого менеджера зависимостей;
- show — посмотреть все установленные пакеты;
- depends vendor/name — посмотреть зависимости определенного пакета;
- validate — проверка валидности программы, точнее ее главного конфигурационного файла;
- update —lock — обновление только файла с перечнем всех установленных пакетов и их версий;
- create-project vendor/name — создать проект из определенного пакета в текущей папке.
Например, чтобы развернуть фреймворк Laravel, пишем create-project —prefer-dist laravel/laravel; - create-project vendor/name folder — создать проект из установленного пакета в указанную папку (указываете ее имя вместо folder);
- clear-cache — очистка внутреннего кеша пакетов;
- help имя_команды — вывести справку по определенной команде.
Посмотреть полный список команд Композера можно командой list.
Запуск Composer без установки
Использовать менеджер зависимостей можно и без полноценной установки. Для этого:
- скачайте архив composer.phar с официального сайта,
- загрузите его на сервер,
- перейдите в директорию, где лежит архив,
- запускайте композер командами вида php composer.phar install (update и т. д.).