製品の detail_view をキャッシュする必要があり、そのために COutputCache または CHttpCacheFilter を使用したかったのは、コントローラーを再度呼び出さずに同じ方法で何百人ものユーザーにページを表示する最速の方法だからです。1つだけ問題があります
- ユーザーがコメントを書き込むと、通常はフラッシュ メッセージが表示され、コメントは製品の下に表示されるはずですが、$_POST が送信されているかどうかを確認する正しい表現が見つかりません。通常は !empty($_POST) を要求しますが、いつも空いているようです
私はすでにこのようなことを試しました
array(
'COutputCache',
'duration'=>7200,
'varyByRoute' => true,
'varyByExpression' => 'md5(Yii::app()->request->url . (!empty($_POST) ? CJSON::encode($_POST) : ""))',
),