操作
Bug(バグ) #3199
完了OpenPNE.yml.sample に記述されているデフォルトの設定が OpenPNE.yml に記述されているものと正しくマージできていない
開始日:
2012-09-11
期日:
進捗率:
0%
予定工数:
3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)
説明
Overview (現象)¶
opProjectConfiguration::setOpenPNEConfiguration() メソッドにて、
$path = OPENPNE3_CONFIG_DIR.'/OpenPNE.yml';
$config = sfYaml::load($path.'.sample');
if (is_readable($path))
{
$config = array_merge($config, sfYaml::load($path));
}
のように OpenPNE.yml.sample の設定を OpenPNE.yml とマージする箇所があるが、array_merge 関数を使用しているため多次元配列である OpenPNE.yml 内の設定を正しくマージできていない。結果として OpenPNE.yml.sample はデフォルト設定値として機能できていない。
Way to fix (修正内容)¶
array_merge の代わりに array_replace_recursive 関数を使用する。 (PHP5.3以前で使用不可)
sfToolkit::arrayDeepMerge()
メソッドを使用する。
Youichi Kimura さんが約12年前に更新
- 説明 を更新 (差分)
- ステータス を New(新規) から Accepted(着手) に変更
arrayDeepMerge で修正できそうです。助言ありがとうございます。
Youichi Kimura さんが約12年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 983159a06192cb455594be60a97318051ae7a57c で適用されました。
操作