CakePHPのControllerとComponentの実行順序

  • 34
    Like
  • 0
    Comment
More than 1 year has passed since last update.

CakePHPのコントローラとコンポーネントのcallbackは以下の順で実行されるようです。

  1. Controllerのinitialize()
  2. ComponentのbeforeFilter()
  3. ControllerのbeforeFilter()
  4. Componentのstartup()
  5. Controllerのaction
  6. ComponentのbeforeRender()
  7. ControllerのbeforeRender()
  8. Componentのshutdown()
  9. ControllerのafterFilter()

Authコンポーネントの認証処理は、4番目のstartup()に書かれているので、5番以降じゃないと認証済かどうか等の確認はできないので注意。