Posted at

CakePHPのControllerとComponentの実行順序

More than 3 years have 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番以降じゃないと認証済かどうか等の確認はできないので注意。