当使用 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')
exception在文件中设置to的值(无命名空间)
key
value
config
Config::set('namespace::key', 'value')
== Config::set('namespace::config.key', 'value')
exception将命名空间文件中的值设置为
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