XREAサーバでSymfonyを動かした場合の問題
当然ながら本番環境では、
“/myproject/apps/myapp/config/settings.yml”
prod:
.settings:
cache on
“/myproject/apps/config/cache.yml”
default:
enabled: on
with_layout: false
lifetime: 86400
としてキャッシュ機能を有効にし、レスポンスの向上を図りたいわけですが、
“/myproject/apps/myapp/modules/mymodule/template/searchSuccess.php”
<?php echo form_tag(’@search’, ‘method=get’) ?>
<?php echo input_tag(’query’, htmlspecialchars($sf_params->get(’query’), ENT_QUOTES), array(’style’ => ‘width: 150px’)) ?> <?php echo submit_tag(’検索’) ?>
</form>
のように、GETメソッドを利用したformを含むtemplateをキャッシュすると、
$sf_params->get(’query’)
で取得したvalueがなぜか表示されません。ちなみに、POSTメソッドを使った場合は問題ありませんでした。
対処療法的ですが、
“/myproject/apps/myapp/modules/mymodule/config/cache.yml
search:
disabled: off
として、formのテンプレートはキャッシュをOffにすれば、正常に動作します。
根本的な解決をするためには、symfonyのコードを読まないと、なんともできないですね。でも、コード量は半端じゃなく膨大ですから、気合いを入れて取りかからないと、時間の無駄になってしまいそう。暇を見つけて、チャレンジしてみたいと思います。
Filed under: Webフレームワーク | No Comments »

