プロジェクト

全般

プロフィール

Bug(バグ) #3199

OpenPNE.yml.sample に記述されているデフォルトの設定が OpenPNE.yml に記述されているものと正しくマージできていない

Youichi Kimura11年以上前に追加. 約7年前に更新.

ステータス:
Won't fix(対応せず)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
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() メソッドを使用する。


関連するチケット

関連している OpenPNE 3 - Backport(バックポート) #3169: OpenPNE.yml の ssl_base_url に api.php 向けの設定が存在しない Fixed(完了) 2012-08-22

関係しているリビジョン

リビジョン 983159a0 (差分)
Youichi Kimura11年以上前に追加

use sfToolkit::arrayDeepMerge() instead of array_merge() for merging default values of OpenPNE.yml (fixes #3199)

履歴

#1 Youichi Kimura11年以上前に更新

  • 説明 を更新 (diff)

#2 Youichi Kimura11年以上前に更新

  • 説明 を更新 (diff)

#3 Kousuke Ebihara11年以上前に更新

sfToolkit::arrayDeepMerge() を使用するアプローチはどうでしょう

#4 Youichi Kimura11年以上前に更新

  • 説明 を更新 (diff)
  • ステータスNew(新規) から Accepted(着手) に変更

arrayDeepMerge で修正できそうです。助言ありがとうございます。

#5 Youichi Kimura11年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

更新履歴 983159a06192cb455594be60a97318051ae7a57c で適用されました。

#7 isao sano約7年前に更新

  • ステータスPending Review(レビュー待ち) から Won't fix(対応せず) に変更
  • 進捗率50 から 0 に変更

OpenPNE 3.8.2 にて対応済みであったため、対応せずとします。

他の形式にエクスポート: Atom PDF