← Заметки и статьи о Laravel PHP

17 мая 2015 перевод

Создание пакетов для Laravel

Prosper Otemuyiwa недавно написал статью о том, как создавать пакеты для Laravel 5 в своём блоге. Хотя его способ абсолютно правильный и может вам подходить, я предпочитаю немного иной способ создания пакетов.

Сначала я создаю новый репозиторий на GitHub. В этот репозиторий копирую содержимое репозитория скелета приложения PHP League's Skeleton. Он даёт хорошую стартовую точку отправления.

С ним вы получаете:

  • очень красивый шаблон readme
  • историю изменений (changelog)
  • файл лицензии
  • composer.json

После замены всех тестовых значений в репозитории на свои корректные я заливаю репозиторий на Packagist. Заметьте, что на данный момент у пакета нулевая функциональность. Обычно следует воздержаться от добавления пакетов без функциональности на Packagist. Но, учитывая тот факт, что на данный момент есть только ветка master и нет версий под тегами, большинство разработчиков не будут использовать этот пакет. Один мудрый человек сказал: «Использование ветки dev-master в проекте — это сродни незащищённому сексу с интернетом».

Теперь, когда пакет доступен на Packagist, время установить свежую версию Laravel. Я предпочитаю это делать с помощью Laravel Installer:

laravel new package-name

После установки я использую метод Dimitrios Savvopoulos для установки пакета в Laravel. Он состоит в том, чтобы запуллить dev-master ветку пакета в проект с помощью composer.json. Пакет можно получить следующей командой:

composer update --prefer-source

Новый пакет будет установлен в свой собственный репозиторий в папке vendor. Таким образом можно коммитить и пушить код на GitHub прямо из директории vendor. Отлично! Теперь всё готово для начала разработки нового пакета.

Когда пакет начинает функционировать и проходит все тесты, я делаю тег версии 1.0.0 на GitHub. При последующей разработке я использую семантическое проставление версий для релизов.

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

Источник: https://murze.be/2015/05/creating-packages/

Плюсануть
Поделиться
Отправить