DeePark.ru

Недавние комментарии
Автор: Kolelan | Опубликовано: 03.03.2017

Composer

Оглавление

Введение

Довольно часто можно встретить такой способ изложения материала: «We recommend you install it with the Composer dependency manager» И далее по теме… Сайты и фреймвоки используют ту же формулировку. Ну и если вы не в курсе, предлагаю небольшой литературный перевод оригинального материала.

Что такое Composer

Composer — это инструмент для управления зависимостями в PHP. Он позволяет заявлять от каких библиотек зависит ваш проект и управлять ими (устанавливать и обновлять).

Composer — это менеджер зависимостей. Это не менеджер пакетов как yum или apt хотя он и имеет дело с пакетами и библиотеками. Composer управляет пакетами и библиотеками в рамках какого-либо проекта и устанавливает их в какую-либо директорию (например в папку vendor) внутри вашего проекта. По умолчанию он не устанавливает ничего глобально. По этому он и называется менеджер зависимостей. Однако он поддерживает глобальные проекты по средствам глобальных команд.

Эта идея не новая и позаимствована от npm (Node) и bundler (Ruby).

Мы предполагаем что:

  1. Ваш проект зависит от какого-то количества библиотек.
  2. Какие-то библиотеки в свою очередь тоже зависят от других библиотек.

Что делает Composer:

  1. Позволяет вам заявлять от каких библиотек зависит ваш проект.
  2. Находит какие версии каких пакетов (или библиотек) могут быть установлены, скачивает их и устанавливает внутрь вашего проекта.

Для более детального ознакомления о том как работать с зависимостями смотрите главу «Базовое использование 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!

Оставить комментарий

Оставить комментарий могут только зарегистрированные пользователи