我需要获取模块配置中文件的 key 。我使用 nWidart 创建了 User
模块包裹。这是registerConfig
函数
protected function registerConfig()
{
$this->publishes([
__DIR__.'/../Config/config.php' => config_path('user.php'),
], 'config');
$this->mergeConfigFrom(
__DIR__.'/../Config/config.php', 'user'
);
}
我创建了一个名为 menu.php
的文件,它返回一个带有键 items
的数组,然后尝试了这个
dd(config('user::config.name'))
dd(config('user::menu.items'))
它们都返回 null。我还尝试了 UserServiceProvider
的 php artisanvendor-publish
但它仍然返回 null。我怎样才能归还 key ?
更新
如果我简单地这样做: config()
我会得到配置数组的完整数组,并且可以在那里看到我的包配置文件。但是 menu
配置文件不在那里
最佳答案
在您的 serviceProvider 中,注册方法。
$this->mergeConfigFrom(
__DIR__ . '/../config/master.php',
'master'
);
// Merge configs
$this->mergeConfigFrom(
__DIR__ . '/../config/slave.php',
'slave'
);
在config文件夹中创建两个文件 从属.php
<?php
return [
'menu' => [
'OP1',
'OP2',
'OP3',
'OP4',
]
];
master.php //您想要加载的任何其他配置
运行 php artisan config:cache
并使用
dd(config('slave.menu')); dd(config('master.XXX'));
这将输出
array:4 [▼
0 => "OP1"
1 => "OP2"
2 => "OP3"
3 => "OP4"
]
关于Laravel 模块的配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52455547/