[symfony] jobeetをやってみる - day22

Day22
ずいぶんと間が開いてしまいましたが、前回の続きです。公式ドキュメントはこちら。
今回はキャッシュ機能について。
Creating a new Environment
キャッシュ機能のON/OFFはsettings.ymlで行う。
今回は”cache”という新しい環境を作成してキャッシュ機能を試すとのこと。
frontend_dev.phpを元に、cache環境用のフロントコントローラfrontend_cache.phpの作成。
settings.ymlにcache環境用の設定を追記。
また、SQLログを有効化するため、databases.ymlにcache環境用の設定を追記(デフォルト設定にDebugPDOを指定してprod環境用のみ違う設定を記述しておく方法も有りだと思う)。
Cache Configuration
キャッシュ設定ファイルcache.ymlの説明。
Page Cache
トップページと仕事情報登録ページをキャッシュ化。
Clearing the Cache
キャッシュの削除方法について。
“symfony cc”コマンドと、Webデバッグツールバーの”Ignore cache”ボタンの説明。
Action Cache
アクション結果のテンプレートのみをキャッシュ化。
といっても”with_layout”オプションを”false”にするだけ。
Partial and Component Cache
パーシャルとコンポーネントのキャッシュ方法について。さりげなく”contextual”オプションの説明も。
Forms in Cache
ユーザに依存しないフォームをキャッシュする場合は、CSRF保護は不要なため、設定を解除。
Removing the Cache
手動でキャッシュをクリアする方法について。
if ($cache = $this->getContext()->getViewCacheManager()) { $cache->remove('sfJobeetJob/index?sf_culture=*'); $cache->remove('sfJobeetCategory/show?id='.$job->getJobeetCategory()->getId()); }
Testing the Cache
キャッシュ機能のテスト。view_cacheテスターのisCached($must_be_cached, $with_layout)メソッドを使用。
See you Tomorrow
キャッシュ機能のAPIは1.0のものと大きな違いは無いようです。
次回はデプロイについて。残すところ後2回。では、また。