Composer

Большой проект Composer

В этой статье я познакомлю вас с большим проектом, Composer (композитор). Если Вам встречались трудности в работе с приложениями PHP, которые используют сторонние библиотеки. Composer поможет Вам избежать трудности в PHP.

Composer имеет разные библиотеки, выбирайте версию которую вам нужно. И если эти библиотеки используют другие библиотеки, он может установить их а также поможет управлять ими. Для управления библиотеками, нужен опыт в использовании Composer.

Установка Composer

Composer поставляется в виде архива исполняемый Phar, поэтому убедитесь, что у вас есть Phar расширение включено в файл php.ini (раскомментируйте extension=phar.so).

Скачать новый пакет Composer.

Кроме этого, существует скрипт установки, который можно запустить. Если вы знакомы с такими установщиками, вы можете скопировать и вставить следующий путь взятый из сайта Composer:



curl -s https://getcomposer.org/installer | php


Для того, чтобы Composer был доступен глобально в вашей системе, переместите полученный composer.phar файл в подходящем месте, например, так:



sudo mv composer.phar /usr/local/bin/composer


Применить Composer

Если вы программировали с Ruby или Node.js, то Composer может показаться вам немного знакомым. Менеджер был вдохновлен Bundler и npm. Сначала Вы создайте файл composer.json, где перечислены все ваши свойства проекта, а затем с помощью простой команды вы можете сохранить их.

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



{ 
    "require": { 
        "illuminate/foundation": "1.0.*"
    },
    "minimum-stability": "dev"
}


require требует списки зависимостей проекта. Зависимость в данном примере это Illuminate (версия 4 из framework Laravel). Конечно Illuminate зависит от множества других пакетов, и composer тоже будет их устанавливать.

После названия пакета вы видите нужную версию. В указанным приложении можно использовать любые незначительные обновления в отрасли 1.0. Вы также можете указать конкретные версий или версий в пределах заданного диапазона. Вы можете найти подробную информацию о версии пакетов на сайте Composer.

minimum-stability — это ключ, потому что пока не все Illuminate в зависимостях являются стабильными. Если не указано, значение по умолчанию правила “stable” и установка будет неудачной.

Для установки Illuminate, выполните следующие в каталоге вашего проекта:



php composer.phar install


Composer создаёт папку с названием поставщиков и загрузки зависимостей. Для удобства создан PSR-0 автозагрузчик, чтобы вытащить библиотеки в код, простые требуют vendors/autoloader.php в код, чтобы их использовать.

Все данные композитора и установленные библиотеки в файле composer.lock. Композитор треков версий библиотек в настоящее время установлены и то, что у них VCS URL. Это как в реестре вся информация о местных библиотеках в нем. При установке обновлении библиотеки, composer также обновляет этот файл.

Вы можете сохранить пакет новой версии, запустив обновления composer.phar.

Упаковка собственного кода

Вы спросите, откуда Composer знает, где качать код, просто по названию “illuminate/foundation”? он имеет официальный репозиторий названий  Packagist , который он подключает. Вы можете посмотреть там, какие библиотеки доступны для управления через Composer. Вы даже можете создавать свои собственные пакеты и отправлять их на Packagist делая их доступными для других.

Создать собственную библиотеку не трудно, поскольку ваш проект с уникальным набором библиотек можно рассматривать как библиотеку, уже перечисленные в composer.json. На самом деле, документация говорит: «Единственная разница между вашим проектом и библиотекой является то, что ваш проект представляет собой пакет без названия».

Для того, чтобы упаковать код, для использования другими, вам нужно определить несколько дополнительных нажатий клавиш:



{ 
    "name": "AlexCogn/Illumination",
    "version" : "1.0.0",
    "require": { 
        "illuminate/foundation": "1.0.*"
    },
    "minimum-stability": "dev"
}


Если у вас есть проект на GitHub, рекомендуется использовать имя вашей учетной записи в пространстве названий проекта. Если вы действительно использовали GitHub, для получения оттуда номера версии Packagist, вам не нужно четко делать так, как я сделал выше.

Теперь вы можете опубликовать ссылку VCS вашего проекта Packagist. Pagckagist делает это очень просто: зарегистрировать новую учетную запись или войти в систему с GitHub и нажмите кнопку Submit Package button. Обеспечить URL хранилище и Packagist сканирует его.

Заключение

Composer может быть очень полезен для автоматизации управления зависимостями проекта. Убедитесь, что вы также проверили официальную документацию Composer для обновления.

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

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


9 + 1 =

Можно использовать следующие HTML -теги и атрибуты: <a href= http://pixelcom.crimea.ua/"" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>