我正在使用Laravel 5
并构建一个应用程序,该应用程序需要能够通过应用程序本身添加/编辑其他文件系统设置,而不是手动执行此操作。我希望能够通过GUI而不是手动添加新的配置设置。
我找到了对this Link的引用,但它似乎与Laravel 5存在一些问题。
还有其他/更好的方法来实现这一目标吗?
答案 0 :(得分:0)
将代码写入php文件对我来说感觉不对。每当用户可以更改某些内容时,我都会将其存储在您的数据库中。我想不应该那么难。
您可以创建一个类似FileSystemConfig
的Eloquent模型,其中包含存储特定于文件系统的配置值的必需列。像[disk, key, value]
这样的东西。您的GUI只会与该模型交互以创建/读取/更新/删除磁盘。
要让应用程序获取这些“动态”配置值,您只需在ConfigServiceProvider中注册它们(应该已经存在于您的App / Providers中)。这可能看起来像这样(未经测试!)
class ConfigServiceProvider extends ServiceProvider {
public function register()
{
$fileConfig = FileSystemConfig::all()
->groupBy('disk')
->transform(function($group) {
$out = [];
foreach ($group as $item) {
$out[$item['key']] = $item['value'];
}
return $out;
})
;
config([
'filesystems.disks' => $fileConfig
]);
}
}