В некоторых статьях я рассказываю о решениях, для работы с которыми нужен Composer, но многие либо не знают, что это такое, либо не знают, как им пользоваться. Поэтому я решил, что пора наконец раскрыть эту тему 🙂
Быстрый старт
Для тех, кто не хочет читать многобукоф, для установки composer на Linux и MacOS в терминале исполняем эту команду:
mv composer.phar /usr/local/bin/composer
Если проблемы с правами доступа, но в начале команды добавляем sudo, вводим пароль и все устанавливается 🙂
Дальше подключаем автолоадер компосера и все работает:
require_once 'vendor/autoloader.php';
Что это такое
Composer — это пакетный менеджер PHP, с помощью которого можно устанавливать, обновлять и удалять программные модули и библиотеки в вашем проекте через терминал. Например, можно установить библиотеку PHP Word или PHP Mailer, и все это будет подключаться через один файл autoloader.php, что гораздо удобней, чем скачивать и подключать каждый пакет вручную. При этом их можно легко и быстро обновлять, а ненужные также и быстро удалять.
В каком-то смысле это тоже самое, что NPM или Yarn для JavaScript пакетов.
Как установить Composer
Установка на Windows
Если вы используете Open Server, то он у вас уже установлен внутри Open Server и устанавливать его отдельно на комп нет нужды. Если не используете — установите Open Server. Откройте терминал в меню Open Server, там уже будет доступна команда composer. Для проверки можете ввести следующую команду:
composer --help
Если увидите похожий результат, значит он установлен:
Тоже самое касается многих хостингов. Если вы, как и я, используете beget, то там composer идет из коробки.
Считаю, что описывать установку на Windows нет нужды, когда есть Open Server. Для общего развития можно заморочиться, но для выполнения рабочих задач, считаю, можно обойтись коробочным решением. Тем более, что оно абсолютно бесплатное.
Установка на Linux и MacOS
Рассмотрим установку composer на MacOS и Linux. На вашей машине должен быть установлен PHP 7.2 или выше (актуально на декабрь 2023). Если у вас MacOS Monterey или выше — значит он уже установлен. На Linux придется устанавливать PHP самостоятельно. Для упрощенной установки можно попробовать LAMP. Далее я предполагаю, что у вас установлен PHP и он работает в терминале.
Еще composer можно установить локально в какой-то директории, но если вы занимаетесь разработкой постоянно, то смысла в этом не вижу. Поэтому рассматриваем только глобальную установку.
По сути надо просто выполнить эту команду, и после можно пользоваться composer:
mv composer.phar /usr/local/bin/composer
Возможные проблемы и методы их устранения:
- Если получаете ошибку доступа, что-то вроде permission access denied — значит в начало команды надо добавить sudo. Дальше надо будет ввести пароль, после чего начнется установка
- В некоторых MacOS по умолчанию нет папки usr. Тогда вы получите ошибку, что указанной директории не существует. Для решения проблемы вводим сначала команду mkdir -p /usr/local/bin, после чего можно снова попробовать установить composer
После установки можно ввести команду composer —help, чтобы убедиться, что программа установлена и с ней можно работать.
Как пользоваться
Далее мы рассмотрим управление установкой пакетов. Но чтобы пакеты работали, надо их все равно подключить. У composer все пакеты подключается через автолоадер. Поэтому подключаем автолоадер в вашем проекте и пользуемся всеми пакетами. Все пакеты и автолоадер находятся в директории vendor. Подключаем так:
require_once 'vendor/autoloader.php';
В WordPress автолоадер подключаем в файле functions.php вашей темы таким образом:
add_action( 'after_setup_theme', 'feodoraxis_composer_autoloader' );
function feodoraxis_composer_autoloader() {
if ( !file_exists( __DIR__ . '/vendor/autoload.php' ) ) {
return;
}
require_once( __DIR__ . '/vendor/autoload.php' );
}
Как установить пакет
На сайтах и страницах почти всех пакетов обычно пишут команду для установки. Как правило для установки используют следующую команду:
composer require <название_пакета>:<версия_пакета>
Если хотите установить последнюю версию, то можно ввести просто название пакета без версии.
Например, установить мой любимый пакет Carbon Fields можно такой командой:
composer require htmlburger/carbon-fields
Как обновить пакет
Для обновления используем команду update:
composer update htmlburger/carbon-fields
Если хотим обновить до конкретной версии, то также указываем версию:
composer update htmlburger/carbon-fields:2.0.0
Еще пакет можно переустановить:
composer reinstall htmlburger/carbon-fields
Как удалить пакет
Суть точно такая-же, для удаления используем команду такого вида:
composer remove htmlburger/carbon-fields
Файл composer.json
В этом файле хранится информация обо всех библиотеках, которые установлены в директории, в которой он находится. По-хорошему он должен быть один на весь проект. Но если это расширяемая система как WordPress, то он еще может быть в расширениях, которые вы устанавливаете. Так, в случае WordPress допустим свой composer.json в каждой теме и каждом плагине отдельно — это отдельные пакеты, со своими программными модулями.
Установка всех пакетов из composer.json
Из composer.json можно разом установить все перечисленные пакеты с указанными версиями. Для этого помещаем composer.json в нужную директорию, переходим в нее в терминале и выполняем команду:
composer install
После этого все пакеты из файла composer.json будут установлены.
Заключение
Ссылка на официальный сайт composer — getcomposer.org
Надеюсь, этот гайд был для вас полезен. Если да — напишите об этом в комментариях, буду рад обратной связи и конструктивной критике. Если есть вопросы — задавайте их в комментариях.
Успехов! 🙂