Composer: что это такое, как его установить и как им пользоваться

  1. Главная
  2. Блог
  3. Полезное
  4. Composer: что это такое, как его установить и как им пользоваться

В некоторых статьях я рассказываю о решениях, для работы с которыми нужен 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

Надеюсь, этот гайд был для вас полезен. Если да — напишите об этом в комментариях, буду рад обратной связи и конструктивной критике. Если есть вопросы — задавайте их в комментариях.

Успехов! 🙂