1

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') 例外to
の値をファイルに設定します(名前空間なし) keyvalueconfig
Config::set('namespace::key', 'value')==Config::set('namespace::config.key', 'value') 例外名前空間のファイル内
の値をkeyconfignamespacevalue
Config::set('file.key', 'value')
ファイルkey内の の値を(名前空間なし) に設定しますfilevalue
Config::set('namespace::file.key', 'value')
名前空間keyfileファイルの 値をに設定しますnamespacevalue
Config::set('namespace::file.key.arrk1.arrk2', 'value')
名前空間のファイルのキーarrk2arrk1配列の 値をに設定しますkeyfilenamespacevalue


4

0 に答える 0