プロジェクト

全般

プロフィール

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).';');
+    }


関連するチケット

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

関係しているリビジョン

リビジョン 164536a4 (差分)
Yuki Kanほぼ14年前に追加

fixed: changed to use cache by result of OpenPNE.yml(fixes #1199)

リビジョン 1febc82d (差分)
Kousuke Ebiharaほぼ14年前に追加

fixed a permission of cache directory for OpenPNE.yml is not right (fixes #1199)

履歴

#1 Yuki Kanほぼ14年前に更新

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

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

#2 Rimpei Ogawaほぼ14年前に更新

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

2点修正してください。

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

#3 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

#4 Shogo Kawaharaほぼ14年前に更新

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

#5 Kousuke Ebiharaほぼ14年前に更新

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

#6 Kousuke Ebiharaほぼ14年前に更新

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

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

#7 Shogo Kawaharaほぼ14年前に更新

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

#8 Kousuke Ebiharaほぼ14年前に更新

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

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