我正在使用 Laravel 构建一个包,该包将包含一些管理功能并包含一些其他包。

我已经包含了一个包含迁移和配置文件的包,但是如何将它们复制到 Laravel 中的正确文件夹中。该包有它自己的 ServiceProvider 但我如何从我的包中调用它?

我正在使用以下内容在我的包中注册包。

class CldServiceProvider extends ServiceProvider {

    public function register()
    {
       $this->app->register(MediaLibraryServiceProvider::class);
    }
}

我试过了
php artisan vendor:publish

但它说没有什么可发布的。因为它只查看这个 Laravel 安装的包,而不是嵌套的包。

最佳答案

就我而言,我发现我需要在我正在处理的应用程序中包含我的包。这一步没有包含在我遵循的原始教程中。

所以在主应用程序的 composer.json 中:

"repositories": [
    {
        "type": "path",
        "url": "packages/namespace/name",
        "options": {
            "symlink": true
        }
    }
],
"require": {
    // ...
    "namespace/name": "dev-master"
},

然后我们从主文件夹运行这个命令:
composer update
之后运行 php artisan vendor:publish 将包括发布子包的选项。

注意:此信息的来源是:https://laraveldaily.com/how-to-create-a-laravel-5-package-in-10-easy-steps/

关于php - 从 Laravel 中包含的包发布配置和迁移,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36316259/

10-10 21:10