Рубрики
Uncategorized

Разработка рабочего процесса на основе пакета расширения уровня композитора

Автор оригинала: David Wong.

Сценарии использования

При обращении к сторонним пакетам возникает необходимость изменить сторонние пакеты и поместить код на свой собственный склад; и другие проекты также должны ссылаться на пользовательские сторонние пакеты; даже они сами будут выпускать измененные сторонние пакеты;

Прочитав эту статью, вы можете получить:

  • Основное использование подмодуля Git
  • Локальная загрузка пакетов сторонних производителей
  • Получение пакетов расширений с адресов Пользовательских складов
  • Быстрое создание пакетов сторонних производителей

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

1. Использование подмодуля git для использования сторонних пакетов в существующих проектах

Пакеты, обычно устанавливаемые с composer , все находятся в поставщике Под каталогом и адресом склада все указывает на склад стороннего автора пакета, при изменении стороннего пакета один не может быть включен в библиотеку управления GIT, другой отправляется. запросы на вытягивание Нужно дождаться обновления авторского отзыва, не может быть принято

1) Проект форка
2) Загрузите проект fork на локальный сайт
> mkdir packages
> git submodule add https://github.com/mpandar/laravel-packager.git packages/mpandar/laravel-packager
3) Содержимое пакета затем можно отредактировать, а каталоги пакетов/pandora/laravel-пакетов используют команды git для отправки файлов

2, настройка содержимого composer.json, включение проектов для использования пользовательского содержимого пакета

Механизм автоматического обнаружения пакетов композитора фактически используется psr-4 (Китайский)

// autoload - PSR - 4 is the project home directory SRC
    // autoload - files is mainly about loading helper functions
    // autoload-dev-psr-4 is mainly test
    "autoload": {
        "psr-4": {
            "JeroenG\Packager\": "packages/mpandar/laravel-packager/src"
        },
        "files": [
            "packages/mpandar/wechat/src/Kernel/Helpers.php"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "JeroenG\Packager\Tests\": "packages/mpandar/laravel-packager/tests"
        }
    },

Запустите после добавления composer dumpautoload В противном случае добавьте следующее Поставщик услуг Может сообщить об ошибках, не может найти соответствующий Поставщик услуг

3. Добавление Поставщика Услуг Пакетов

Из-за laravel пакет:откройте для себя Читается поставщик/композитор/установлен.json Пакеты, установленные в этом файле, и наши пакеты добавляются вручную, поэтому они не могут быть добавлены автоматически. Поставщик услуг Вручную. app.php Добавить в

    'providers' => [
       JeroenG\Packager\PackagerServiceProvider::class,
    ],
    'aliases' => [
        'CreditsShop' => Mpandar\CreditsShop\Facades\CreditsShop::class,
    ],

принять список исполнителей php Вы можете видеть, что команды в этом пакете были добавлены

4. Используйте пользовательские пакеты для других проектов

Йерун\Упаковщик Он используется для быстрого создания пакета расширений на основе laravel. В процессе его использования обнаруживается небольшая проблема, такая как php artisan packager:новая корзина pandora laravel Идеальная структура каталогов должна быть

packages
    |-mpandar
        |-laravel-cart
            |-src
                |-LaravelCartProvider.php
                |-LaravelCart.php
                |-Facades
                    |-LaravelCart.php

Но поставщик, которого он фактически создал, был назван Поставщик laravel-cart Если используется php artisan packager:новая корзина mpandar Laravel Имя каталога снова было бы неправильным, поэтому я исправил проблему (или, может быть, я не буду использовать…).

// dev-master represents the master branch
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/mpandar/laravel-packager"
        }
    ],
    "require": {
        "jeroen-g/laravel-packager": "dev-master"
    },
// composer update

5. Разработка пакетов расширений для Laravel

использовать jeroen-g/laravel-упаковщик Легко создать проект инфраструктуры пакета расширений

> php artisan packager:new mpandar credits-shop
 0/6 [>---------------------------]   0% Creating package mpandar\credits-shop...
 1/6 [====>-----------------------]  16% Creating packages directory...
 2/6 [=========>------------------]  33% Creating vendor...
 3/6 [==============>-------------]  50% Downloading skeleton...
 4/6 [==================>---------]  66% Replacing skeleton placeholders...
 5/6 [=======================>----]  83% Dumping autoloads and discovering package...
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover
 6/6 [============================] 100% Package created successfully!

Структура каталогов, которую он создает:

Конфигурация автоматически добавляется в composer. JSON и приложение. php. Хорошо, тогда мы можем разработать пакет расширений!

Оригинал: “https://developpaper.com/workflow-development-based-on-compposers-lavel-extension-package/”