Основа расширения создаётся с помощью Gii.
1. Создание расширения в Gii.
Открываем "Extension Generator", заполняем форму.
Vendor Name: аккаунт на гитхабе, в моём случае "nex-otaku".
Package Name: например, "yii2-toolkit". Начинается с "yii2-".
Namespace: nex_otaku\toolkit\
Лицензию выбираем MIT, как самую простую и свободную.
2. Подключение локального репозитория.
Создаём репозиторий.
D:\repos\yii2-toolkit
Перемещаем туда сгенерированные файлы.
Подключаем в проекте локальный репозиторий:
"repositories": [
{
"type": "vcs",
"url": "file://D:/repos/yii2-toolkit"
}
]
По завершению тестирования, расширение нужно опубликовать на Гитхабе и зарегистрировать в Packagist. Тогда мы сможем подключать его через Composer.
Локальный репозиторий, соответственно, нужно будет удалить.
3. Подключение расширения.
Подключаем:
composer require nex-otaku/yii2-toolkit
4. Публикация в Github и Packagist.
Расширение протестировано и готово к публикации? Заливаем на Гитхаб и регистрируем его на Packagist.
Регистрация в Packagist:
Нажимаем кнопку "SUBMIT", вводим URL нашего репозитория на Гитхабе. Нажимаем "Check", потом "Submit". Наше расширение добавлено в каталог.
5. Настройка обновлений.
Включаем хук для автоматических обновлений на Гитхабе.
В репозитории Github:
"Settings" -> "Integrations & Services"
Добавляем сервис, выбираем из списка "Packagist".
Заполняем поля, имя пользователя Packagist (но не email), токен берём из профиля на сайте Packagist.
Поле "Domain" оставляем пустым.
Отправляем форму. Хук привязан.
Для проверки, нажимаем кнопку "Test service" (в правом верхнем углу в форме настроек хука).
После нажатия кнопки, со страницы пакета на Packagist должно пропасть предупреждение "This package is not auto-updated".
6. Использование.
Всё готово, можно править расширение и заливать изменения на Гитхаб. Пакет будет обновляться автоматически.
Версии пакета проставляются тегами в репозитории, и подгружаются из репозитория автоматически композером.
Можно версии вообще не указывать, если пакет подключен на "dev-master":
"nex-otaku/yii2-toolkit": "dev-master"
Пакет подключается так по умолчанию. При обновлении всегда будет загружаться последний коммит.
Если нам нужно обновить только наш пакет, а остальные не трогать, используем команду:
composer update nex-otaku/yii2-toolkit
1. Создание расширения в Gii.
Открываем "Extension Generator", заполняем форму.
Vendor Name: аккаунт на гитхабе, в моём случае "nex-otaku".
Package Name: например, "yii2-toolkit". Начинается с "yii2-".
Namespace: nex_otaku\toolkit\
Лицензию выбираем MIT, как самую простую и свободную.
2. Подключение локального репозитория.
Создаём репозиторий.
D:\repos\yii2-toolkit
Перемещаем туда сгенерированные файлы.
Подключаем в проекте локальный репозиторий:
"repositories": [
{
"type": "vcs",
"url": "file://D:/repos/yii2-toolkit"
}
]
По завершению тестирования, расширение нужно опубликовать на Гитхабе и зарегистрировать в Packagist. Тогда мы сможем подключать его через Composer.
Локальный репозиторий, соответственно, нужно будет удалить.
3. Подключение расширения.
Подключаем:
composer require nex-otaku/yii2-toolkit
4. Публикация в Github и Packagist.
Расширение протестировано и готово к публикации? Заливаем на Гитхаб и регистрируем его на Packagist.
Регистрация в Packagist:
Нажимаем кнопку "SUBMIT", вводим URL нашего репозитория на Гитхабе. Нажимаем "Check", потом "Submit". Наше расширение добавлено в каталог.
5. Настройка обновлений.
Включаем хук для автоматических обновлений на Гитхабе.
В репозитории Github:
"Settings" -> "Integrations & Services"
Добавляем сервис, выбираем из списка "Packagist".
Заполняем поля, имя пользователя Packagist (но не email), токен берём из профиля на сайте Packagist.
Поле "Domain" оставляем пустым.
Отправляем форму. Хук привязан.
Для проверки, нажимаем кнопку "Test service" (в правом верхнем углу в форме настроек хука).
После нажатия кнопки, со страницы пакета на Packagist должно пропасть предупреждение "This package is not auto-updated".
6. Использование.
Всё готово, можно править расширение и заливать изменения на Гитхаб. Пакет будет обновляться автоматически.
Версии пакета проставляются тегами в репозитории, и подгружаются из репозитория автоматически композером.
Можно версии вообще не указывать, если пакет подключен на "dev-master":
"nex-otaku/yii2-toolkit": "dev-master"
Пакет подключается так по умолчанию. При обновлении всегда будет загружаться последний коммит.
Если нам нужно обновить только наш пакет, а остальные не трогать, используем команду:
composer update nex-otaku/yii2-toolkit
Подключаем в проекте локальный репозиторий:
ОтветитьУдалитьА где это надо подключать?
Где прописывать эти строки?
В файле "composer.json" в корне проекта.
УдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьСоздание локального репозитария это ,как я пнял посто создание папки с расширением отдельно от проекта yii2?
ОтветитьУдалитьРазмещение расширения в отдельной дирректории отдельно от проектнужнг, чтобы проще было сохранятььего в гитхаб?
ОтветитьУдалитьКонечно. На то оно и расширение, чтобы использоваться независимо от конкретного проекта. Если код зависит от проекта, то это просто модуль, часть приложения, его не требуется в расширение выносить.
Удалить