Composer — менеджер установок библиотек скриптов.

Сегодня я узнал, что такое composer и как его юзать!
Composer (getcomposer.org) — это относительно новый и уже достаточно популярный менеджер зависимостей для PHP. Вы можете описать от каких библиотек зависит ваш проект и Composer установит нужные библиотеки за вас! Причём Composer — это не менеджер пакетов в классическом понимании. Да, он оперирует с сущностями, которые мы будем называть «пакетами» или библиотеками, но устанавливаются они внутрь каждого проекта отдельно, а не глобально (это одно из основных отличий от старого-доброго PEAR).

Кратко, как это работает:

1) У вас есть проект, который зависит от нескольких библиотек.

2) Некоторые из этих библиотек зависят от других библиотек.

3) Вы описываете в своём проекте те библиотеки, от которых непосредственно зависит ваш код.

4) Composer находит нужные версии требуемых библиотек для всего проекта, скачивает их и устанавливает в папку вашего проекта.

При создании Composer авторы черпали идеи и вдохновение из аналогичных проектов: npm для Node.js и Bundler для Ruby.
Проект написан на PHP 5.3, распространяется под лицензией MIT и доступен на http://github.com/composer.

Что умеет Composer?
1) Скачивать пакеты и их зависимости;

2) по умолчанию, пакеты скачиваются из официального репозитория packagist.org. Любой человек может свободно добавить туда свой пакет, чтобы сделать его установку максимально лёгкой и удобной для всего мира;

3) пакеты можно скачивать не только с packagist.org, но и из любого git, mercurial или svn репозитория;

4) при скачивании пакетов с github.com или bitbucket.org не требуется установленной системы контроля версий (git или hg), Composer работает через API этих сайтов;

5) git/hg/svn репозиторий с пакетом может находиться не только на одном из перечисленных выше сайтов, но в любом другом месте, например, в локальной сети предприятия или вообще на локальном жестком диске;

6) кроме того, устанавливаемая библиотека не обязательно должна быть оформлена в виде Composer-пакета, вы можете сделать установку из любого git/hg/svn репозитория произвольной структуры;

7) наконец, устанавливаемый пакет не обязательно должен быть git/hg/svn репозиторием, это может быть произвольный zip файл доступный по любому uri!

8) все пакеты устанавливаются в текущую директорию (откуда была выполнена команда install), это позволяет иметь несколько различных версий библиотек при работе над разными проектами параллельно;

9) команда update обновляет все установленные (или установит заново случайно удалённые) пакеты до свежих версий. А может и не обновлять версии до самых свежих, если создать специальный composer.lock файл — это позволяет зафиксировать комбинацию из стабильных версий всех используемых в проекте библиотек;

10) после установки пакетов автоматически генерируется autoload.php, с помощью которого можно подключить установленные библиотеки в коде вашего проекта. При подготовке Composer-пакета рекомендуется использовать PSR-0 — стандарт расположения и именования php файлов, чтобы autoload смог их легко найти. В любом случае, автор пакета может описать правила, по которым autoload будет искать файлы тех или иных классов или неймспейсов. Если вы устанавливаете библиотеку, которая не оформлена как Composer-пакет (например, произвольный git репозиторий с github), то задача описания правил autoload ложится на ваши плечи. Так что никакой магии с генерируемым autoload.php нет — он умеет загружать всё (даже библиотеки с набором функций вне классов), главное, чтобы были описаны правила (автором библиотеки или вами).

Как же заюзать этот composer? Одна статья в интернете подмогла: ( https://habr.com/post/145946/ ).

1) нужно закачать себе файл компосера в корневую папку сайта:
через SSH я сделал это командой: php -r «readfile(‘https://getcomposer.org/installer’);» | php
при этом текущей была — корневая папка сайта.
composer.phar — (архив php) — это и есть собственно скрипт самого composera

2) там же в корне сайта нужно создать файл установок : composer.json
в нем надо указать инфу о том, что должно быть установлено:

3) далее надо запусть установку, через SSH: php composer.phar install (находясь в корне сайта)

4) В случае успеха все библиотеки php-кода будут добавлены в папку /vendor/ в корне сайта. А composer создаст файл autoload.php в этой папке.

5) И для того чтобы все стало подключено в нужном файле (например index.php) нужно подключить этот autoload.php файл:

6) Далее можно юзать установленные библиотеки.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *