Composer
Оглавление
- Введение
- Что такое Composer
- Системные требования
- Установка Composer
- Локальная установка
- Глобальная установка
- Практический пример
Введение
Довольно часто можно встретить такой способ изложения материала: «We recommend you install it with the Composer dependency manager» И далее по теме… Сайты и фреймвоки используют ту же формулировку. Ну и если вы не в курсе, предлагаю небольшой литературный перевод оригинального материала.
Что такое Composer
Composer — это инструмент для управления зависимостями в PHP. Он позволяет заявлять от каких библиотек зависит ваш проект и управлять ими (устанавливать и обновлять).
Composer — это менеджер зависимостей. Это не менеджер пакетов как yum или apt хотя он и имеет дело с пакетами и библиотеками. Composer управляет пакетами и библиотеками в рамках какого-либо проекта и устанавливает их в какую-либо директорию (например в папку vendor) внутри вашего проекта. По умолчанию он не устанавливает ничего глобально. По этому он и называется менеджер зависимостей. Однако он поддерживает глобальные проекты по средствам глобальных команд.
Эта идея не новая и позаимствована от npm (Node) и bundler (Ruby).
Мы предполагаем что:
- Ваш проект зависит от какого-то количества библиотек.
- Какие-то библиотеки в свою очередь тоже зависят от других библиотек.
Что делает Composer:
- Позволяет вам заявлять от каких библиотек зависит ваш проект.
- Находит какие версии каких пакетов (или библиотек) могут быть установлены, скачивает их и устанавливает внутрь вашего проекта.
Для более детального ознакомления о том как работать с зависимостями смотрите главу «Базовое использование Composer»
Системные требования
Для работы Composer необходим PHP 5.3.2 и выше. Если какие либо ещё настроки понадобятся вы будете уведомлены об этом во время установки.
Будет не лишним если иметь какую-либо систему контроля версий, например git.
Composer не зависит от платформы и одинаково хорошо работает в Windows, Lunux, OSX.
Установка Composer
Composer предлагает удобный установщик который вы можете использовать прямо из командной строки. Не стесняйтесь скачать файл или глянуть на GitHub если вы желаете узнать больше о внутренней работе установщика. Там код на PHP
Существует два пути для установки Composer. Локально, как часть вашего проекта и глобально как часть системы.
Локальная установка
Для установки Composer локально просто запустите установщик внутри директории вашего проекта. Как? Заходим в терминал и запускаем следующие команды:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Этот установочный скрипт проверит некоторые настройки php.ini, сообщит вам если что-либо не понравится, скачает последнюю версию composer.phar в текущую директорию, проверит контрольную сумму, запусти установщик и удалит его после установки.
На официальном сайте Composer рекомендуется не изменять данный установочный код и вообще посылать всех на https://getcomposer.org/download/ что мы и делаем.
Установочный файл composer.phar является бинарным файлом. Это PHP архив (PHAR) который может быт запущен из командной строки с различными параметрами. Для запуска Composer нужно написать в командной строке php composer.phar
Вы можете установить Composer внутрь любой директории используя ключ --install-dir а так же переименовать его используя --filename. Например так:
php composer-setup.php --install-dir=bin --filename=composer
После этого можно будет запускать Композер набрав в командной строке php bin/composer
Настало время запустить его наконец!
Глобальная установка
Вы можете расположить Composer PHAR где вам захочется. И если вы положите его в директорию которая является частью глобальной переменной PATH, вы сможете получить глобальный доступ к этому файлу. На unix подобных системах вы сможете даже использовать его без обязательного использования php интерпретатора.
Практический пример
Я поставлю Композер сюда /usr/local/bin/ потому что это и есть то место где должны лежать общие пользовательские утилиты. В качестве дополнительного материала приведу статью о PATH.
Для этого сначала делаем всё как при локальной установке в любую папку расположенную в домашней директории
Затем перемещаем файл composer.phar в папку /usr/local/bin
sudo mv composer.phar /usr/local/bin/
Всё готово! Теперь, если понадобиться использовать Композер просто набираем в командной строке composer.phar
(можно без интерпритатора php)
Например поставим slim framework
php composer.phar create-project slim/slim-skeleton /var/www/slim.local
Поясню что произошло. Мы поставили набор из очень большого количества библиотек с помощью одной команды и он уже работает, осталось только написать slim.local.conf и добавить его в hosts. И так с любой платформой. Хвала Composer!
Оставить комментарий
Оставить комментарий могут только зарегистрированные пользователи