プロジェクト

全般

プロフィール

Enhancement(機能追加・改善) #1199

完了

[optimization] OpenPNE.ymlの結果をキャッシュするようにする

Yuki Kan さんが14年以上前に追加. 14年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2010-06-23
期日:
2010-06-23
進捗率:

100%

予定工数:

説明

lib/config/opProjectConfiguration.class.php:118-

-    $path = OPENPNE3_CONFIG_DIR.'/OpenPNE.yml';
-    $config = sfYaml::load($path.'.sample');
-    if (is_readable($path))
+    $opConfigCachePath = sfConfig::get('sf_cache_dir').DIRECTORY_SEPARATOR.'OpenPNE.yml.php';
+    if (is_readable($opConfigCachePath))

lib/config/opProjectConfiguration.class.php:121-

-      $config = array_merge($config, sfYaml::load($path));
+      $config = (array)include($opConfigCachePath);
     }
+    else
+    {
+      $path = OPENPNE3_CONFIG_DIR.'/OpenPNE.yml';
+      $config = sfYaml::load($path.'.sample');
+      if (is_readable($path))
+      {
+        $config = array_merge($config, sfYaml::load($path));
+      }

+      file_put_contents($opConfigCachePath, '<?php return '.var_export($config, true).';');
+    }


関連するチケット 1 (0件未完了1件完了)

関連している OpenPNE 3 - Enhancement(機能追加・改善) #1345: sfOpenPNEApplicationConfiguration::globEnablePlugin() の結果をキャッシュするFixed(完了)Kousuke Ebihara2010-07-14

操作

Yuki Kan さんが14年以上前に更新

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

更新履歴 164536a49332cf6b9abbb676fc572e4e5523ba71 で適用されました。

Rimpei Ogawa さんが14年以上前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

2点修正してください。

  • キャッシュディレクトリがない状態(git clone した直後など)に file_put_contents() でエラーが発生します
  • 131行目に不要なスペースがあります

Shogo Kawahara さんが14年以上前に更新

この点も差し戻し

  • ファイルのパーミッションの問題によりキャッシュ削除時にWarningが起こるようです
>> file-     /home/kawahara/dev/OpenPNE3/cache/www-data/OpenPNE.yml.php
PHP Warning:  unlink(/home/kawahara/dev/OpenPNE3/cache/www-data/OpenPNE.yml.php): Permission denied in /home/kawahara/dev/OpenPNE3/lib/vendor/symfony/lib/task/sfFilesystem.class.php on line 143
PHP Stack trace:
PHP   1. {main}() /usr/bin/symfony:0
PHP   2. include() /usr/bin/symfony:37
PHP   3. sfSymfonyCommandApplication->run() /home/kawahara/dev/OpenPNE3/lib/vendor/symfony/lib/command/cli.php:20
PHP   4. sfTask->runFromCLI() /home/kawahara/dev/OpenPNE3/lib/vendor/symfony/lib/command/sfSymfonyCommandApplication.class.php:76
PHP   5. sfBaseTask->doRun() /home/kawahara/dev/OpenPNE3/lib/vendor/symfony/lib/task/sfTask.class.php:97
PHP   6. sfCacheClearTask->execute() /home/kawahara/dev/OpenPNE3/lib/vendor/symfony/lib/task/sfBaseTask.class.php:68
PHP   7. sfFilesystem->remove() /home/kawahara/dev/OpenPNE3/lib/vendor/symfony/lib/task/cache/sfCacheClearTask.class.php:128
PHP   8. unlink() /home/kawahara/dev/OpenPNE3/lib/vendor/symfony/lib/task/sfFilesystem.class.php:143
>> file-     /home/kawahara/dev/OpenPNE3/cache/OpenPNE.yml.php

Shogo Kawahara さんが14年以上前に更新

  • 題名OpenPNE.ymlの結果をキャッシュするようにする から [optimization] OpenPNE.ymlの結果をキャッシュするようにする に変更

Kousuke Ebihara さんが14年以上前に更新

  • ステータスRejected(差し戻し) から Accepted(着手) に変更
  • 担当者Yuki Kan から Kousuke Ebihara に変更

Kousuke Ebihara さんが14年以上前に更新

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

更新履歴 1febc82d72407a957efb3533f7ca7b5925b54967 で適用されました。

Shogo Kawahara さんが14年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

Kousuke Ebihara さんが14年以上前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

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