Composer – это свободный пакетный менеджер для установки зависимостей и самих модулей PHP. Он разработан Нильсом Адерманом и Хорди Боггиано. С помощью скрипта можно в несколько нажатий установить нужный модуль, а также все его зависимости, например, ZendFramework или Symphony. Он широко используется разработчиками PHP скриптов.
В этой статье мы рассмотрим как установить Composer Ubuntu 18.04 и более поздних версиях, а также как пользоваться утилитой.
Установка Composer в Ubuntu
Вы не можете установить программу из официальных репозиториев. Нужно скачать скрипт из официального сайта и поместить его в папку с вашим проектом. Но сначала обновите систему и установите зависимости:
sudo apt update
sudo apt install curl php-cli php-mbstring git unzip
Установка Composer ubuntu может быть выполнена двумя способами. Либо локально в папку проекта, либо же глобально, для всей системы. Сначала рассмотрим как установить программу локально. Перейдите в папку проекта:
Выполните такую команду для загрузки установочного скрипта:
curl -sS https://getcomposer.org/installer -o composer-setup.php
Затем запустите этот скрипт, чтобы создать файл composet.phar, который и будет использоваться для установки пакетов:
Теперь вы можете проверить работает ли Composer:
Теперь рассмотрим как установить программу глобально для всей системы. Вы можете скачивать файл установщика в любую папку, например, домашнюю:
curl -sS https://getcomposer.org/installer -o composer-setup.php
Только команда установки будет отличаться, в ней мы указываем папку, куда нужно установить скрипт:
sudo php composer-setup.php –install-dir=/usr/local/bin –filename=composer
Для проверки работы, вы можете выполнить команду:
Использование Composer
Для того чтобы указать какие пакеты нужно устанавливать используется конфигурационный файл composer.json. В нем сообщаются зависимости вашего проекта, а также их версии. Создайте этот файл в корневой папке вашего проекта. Синтаксис записей очень прост, и если вы раньше имели дело с JSON, то без проблем разберетесь:
<
“require”: <
“производитель/пакет”: “версия”
>
“require-dev”: <
“производитель/пакет”: “версия”
>
>
Секция require отвечает за пакеты, необходимые для работы программы, а require-dev – только за пакеты для разработки. Например, для нашего проекта необходимо установить библиотеку работы с RSS Atom – picofeed. Для этого сначала откройте сайт https://packagist.org и найдите этот пакет:
На его странице вы можете видеть команду composer, которой его можно установить, в ней полное имя, а чуть ниже версию:
Наш файл будет выглядеть вот так:
Для того чтобы установить все пакеты, описанные в файле конфигурации, используйте команду:
php composer.phar install
После установки пакетов composer создает файл autoload.php в папке vendor вашего проекта, с помощью него можно включить в проект все библиотеки, которые были установлены. Для этого достаточно подключить этот файл к проекту с помощью инструкции include или require:
Например, возьмем небольшой пример чтения ленты rss с GitHub:
use PicoFeedReaderReader;
use PicoFeedPicoFeedException;
$reader=new Reader;
// Return a resource
$resource=$reader->download(‘https://losst.ru/feed/’);
// Return the right parser instance according to the feed format
$parser=$reader->getParser(
$resource->getUrl(),
$resource->getContent(),
$resource->getEncoding()
);
// Return a Feed object
$feed=$parser->execute();
// Print the feed properties with the magic method __toString()
echo $feed;
>
catch (PicoFeedException $e) <
// Do Something.
>
?>
Вы можете управлять зависимостями не только с помощью конфигурационного файла. Composer имеет несколько команд для легкого управления. Чтобы добавить пакет в зависимости проекта используйте команду require:
php composer.phar require picofeed
Пакет сразу же будет установлен. А теперь вы его можете удалить:
php composer.phar remove picofeed
Если версии пакетов устарели, то вы можете их обновить с помощью одной команды:
php composer.phar update
Выводы
В этой небольшой статье мы рассмотрели как выполняется установка Composer Ubuntu 18.04 и 16.04, а также как использовать эту утилиту в своем проекте для разрешения зависимостей. Это очень удобно, когда вы можете один раз указать нужные пакеты и больше не заботиться об их установке и обновлении на других машинах.