Поскольку мы научились создавать локальный пакет, теперь мы продолжим, как опубликовать этот пакет на Packagist, чтобы им могли пользоваться другие разработчики.
Мы собираемся использовать GitHub для обмена нашим пакетом.
Создать репозиторий GitHub
Перейдите на github.com и войдите в систему (или зарегистрируйтесь, если у вас еще нет учетной записи).
Затем перейдите к Profile > Your repositories
.
И создайте новый репозиторий, нажав: New
.
Имя репозитория должно соответствовать имени пакета, который мы ранее создали.
Теперь мы копируем URL-адрес репозитория, потому что он понадобится нам позже.
Теперь вернемся к нашему пакету. cd
в каталог пакета packages/erlandmuchasaj/laravel-hello
и выполните следующий набор команд:
echo "/vendor/" > .gitignore echo "# laravel-hello" >> README.md git init git checkout -b main git add . git commit -m "Initial commit" git tag 1.0.0
Это инициализирует репозиторий git в нашем каталоге laravel-hello, мы добавляем все файлы и помечаем исходный код как версию 1.0.0.
Затем мы отправим локальное репо в репозиторий GitHub.
git remote add origin https://github.com/erlandmuchasaj/laravel-hello.git git push -u origin --all git push -u origin --tags
Теперь этот пакет доступен для установки другим.
Установка тестового пакета
Чтобы проверить правильность установки пакета, в другом проекте laravel вы можете обновить файл composer.json и добавить этот пакет.
По умолчанию composer вытягивает пакеты из packagegist, поэтому нам нужно внести небольшую поправку, чтобы иметь возможность также извлекать пакеты из GitHub.
Мы можем сделать это, добавив тип VCS в объект repositories в файле composer.json следующим образом:
"repositories": [ { "type": "vcs", "url": "https://github.com/erlandmuchasaj/laravel-hello" } ]
Добавление этого скажет композитору также искать в репозитории GitHub любой устанавливаемый пакет.
Теперь устанавливаем пакет через composer:
composer require erlandmuchasaj/laravel-hello
И вывод будет выглядеть примерно так
Использование пакета.
Теперь мы можем использовать пакет как любой другой пакет, установленный через composer.
<?php use ErlandMuchasaj\LaravelHello\RockPaperScissorsLizardSpock; $game= new RockPaperScissorsLizardSpock(); echo $game->rules();
Добавление пакета в Packagist
Последний шаг в разработке пакета — сделать его публичным и доступным для всех, и мы можем сделать это, загрузив наш пакет в packagegist.
Чтобы опубликовать локальный пакет в Packagist, вы можете сделать следующее:
- Войдите или создайте учетную запись в Packagist здесь (если у вас ее еще нет). Я предпочитаю использовать Войти через GitHub.
- Нажмите Отправить на верхней панели навигации и введите URL-адрес пакета из GitHub или любой другой системы управления версиями, например. https://github.com/erlandmuchasaj/laravel-hello в виде:
3. Packagist автоматически обнаружит файл composer.json
вашего пакета и отобразит информацию о пакете на следующем экране. Нажмите «Отправить», чтобы опубликовать свой пакет.
4. Через несколько минут ваш пакет должен быть доступен на Packagist и может быть установлен в любом проекте Laravel, запустив
composer require erlandmuchasaj/laravel-hello
.
Теперь вам больше не нужна VCS для объекта репозиториев.
Поздравляем! Ваш локальный пакет Laravel теперь опубликован в Packagist и может использоваться другими разработчиками 👏🏻👏🏻👏🏻.
Примечания: если вы хотите подробнее узнать о том, как разработать расширенный пакет для Laravel, есть очень хорошая документация, которую вы можете найти ниже:
Не стесняйтесь Подписаться, чтобы получить больше подобного контента 🔔, аплодировать 👏🏻 , комментировать💬 и поделиться статьей с кем хочешь
И, как всегда, я ценю вашу поддержку и спасибо за чтение.