使用Laravel 4配置类时,您可以调用Config::set('namespace::file.key', 'new value')
,它将遵循以下过程:
检查是否有名为file
的文件
如果有,则设置(在内存中)值:
key
密钥file
档案namespace
命名空间(大致翻译为包)到new value
如果没有,
该调用被静默转换为Config::set('namespace::config.file.key', 'new value')
,其设置(在内存中)值:
key
子键file
数组config
档案namespace
命名空间(大致翻译为包)到new value
因为你只处理内存,所以这很好。
但是,如果您想在实际保存调用Config::set(...
时所做的更改时该怎么办?
您遇到的问题是,如果您想要创建名为file
的新组(也称为文件),如果它不存在,您如何知道?然后设置key
密钥在里面?或者如果您使用速记来引用config
组?
我的想法是,除了几个例外,总是假设命名空间之后的第一部分(爆炸。)是文件/组,但我想知道它是否违反任何“laravelian”或有我错过了任何边缘案例?
<小时/>
Config::set('key', 'value')
== Config::set('config.key', 'value')
例外 key
文件中设置value
到config
的值(无命名空间)
Config::set('namespace::key', 'value')
== Config::set('namespace::config.key', 'value')
例外 key
命名空间的config
文件中namespace
的值设置为value
Config::set('file.key', 'value')
key
文件中file
的值设置为value
(无命名空间)
Config::set('namespace::file.key', 'value')
key
命名空间的file
文件中namespace
的值设置为value
Config::set('namespace::file.key.arrk1.arrk2', 'value')
arrk2
命名空间的arrk1
文件中key
键的file
数组中namespace
的值设置为value