0

さまざまなユーザーデータを保存するために CakeSession を使用するアプリがあります。ここで、を使用していくつかのデフォルト値を書き込み、CakeSession::write()それらをすべてのビュー (キャッシュされたビューでも) で使用できるようにします。したがって、ビューがレンダリングされる前に、すべてのリクエストでチェック/書き込みを行う必要があります。

しかし、これらの要件を満たすには、どこにコードを配置すればよいでしょうか? 今まで、私は次の位置を使用しようとしましたCakeSession::write()が、成功しませんでした:

  1. Config/bootstrap.php -> CakeSession はまだ定義されていません
  2. AppController::__construct() -> CakeSession はまだ定義されていません
  3. AppController::beforeFilter() -> キャッシュされたビューに対しては呼び出されません
4

1 に答える 1

0

キャッシュされたビューはどこにもセッションを作成しません。キャッシュされたビューはリクエストをまったく初期化しません

ドキュメント

It should be noted that once an action is cached, the controller method for the 
action will not be called. When a cache file is created, the request object, 
and view variables are serialized with PHP’s serialize().
于 2012-12-21T21:55:20.650 に答える