Laravel模块的配置文件

M a*_*a D 2 laravel laravel-5

我需要在模块的配置中获取文件的密钥。我User使用nWidart包创建了模块。这是registerConfig功能

protected function registerConfig()
{
    $this->publishes([
        __DIR__.'/../Config/config.php' => config_path('user.php'),
    ], 'config');
    $this->mergeConfigFrom(
        __DIR__.'/../Config/config.php', 'user'
    );
}
Run Code Online (Sandbox Code Playgroud)

我创建了一个名为的文件menu.php,该文件返回带有键的数组items,然后尝试执行此操作

dd(config('user::config.name'))
dd(config('user::menu.items'))
Run Code Online (Sandbox Code Playgroud)

它们都返回null。我也尝试过php artisan vendor-publishUserServiceProvider但它仍然返回null。如何退回钥匙?

更新

如果我只是这样做:config()我将获得配置数组的完整数组,并可以在其中看到我的软件包配置文件。但是menu配置文件不在里面

Bug*_*xer 5

在您的serviceProvider中,注册方法。

    $this->mergeConfigFrom(
        __DIR__ . '/../config/master.php',
        'master'
    );

    // Merge configs
    $this->mergeConfigFrom(
        __DIR__ . '/../config/slave.php',
        'slave'
    );
Run Code Online (Sandbox Code Playgroud)

在配置文件夹slave.php中创建两个文件

    <?php
return [
    'menu' => [
        'OP1',
        'OP2',
        'OP3',
        'OP4',
    ]
];
Run Code Online (Sandbox Code Playgroud)

master.php //您要加载的任何其他配置

运行php artisan config:cache

和使用

dd(config('slave.menu')); dd(config('master.XXX'));

这将输出

array:4 [?
  0 => "OP1"
  1 => "OP2"
  2 => "OP3"
  3 => "OP4"
]
Run Code Online (Sandbox Code Playgroud)