命名空间/组/密钥标识

时间:2013-02-20 22:18:59

标签: php laravel

使用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文件中设置valueconfig的值(无命名空间)
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


0 个答案:

没有答案