我在 laravel 上写了一个包,它需要安装一些包。
我想用应用程序的已发布副本覆盖自己的包配置文件,并在我的包服务提供商的注册方法中使用 mergeConfigFrom 方法。但它确实像我期望的那样工作
app/config/publishedConfig.php
return [
'dashboard_url' => 'home',
'logout_url' => 'logout',
'login_url' => 'login'
];
和
package/vendor/path/to/config/config.php
return [
'dashboard_url' => 'dashboard/login',
'logout_url' => 'dashboard/logout',
'login_url' => 'mongodb-login'
]
然后在我的包服务提供商的注册方法中,我使用如下所示的 mergeConfigFrom 在运行时覆盖 publishedConfig:
public function register(){
$this->mergeConfigFrom(
__DIR__.'/config/adminlte-logo.php','publishedConfig'
);
}
之后我使用 dd(config('publishedConfig'))
助手来获取合并的结果但是结果没有改变。
预期结果是:
'dashboard_url' => 'dashboard/login',
'logout_url' => 'dashboard/logout',
'login_url' => 'mongodb-login'
我会感激任何解决我问题的人。
提前致谢
最佳答案
最后我用--force
标记方式覆盖了它。
php artisan vendor:publish --tag=config --force
关于php - Laravel 在 Laravel 包中合并配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54766160/