第2回CakePHP関西勉強会でやったデモをこちらでも。
CakePHPには色々なフックメソッドがあるのですが、それらがどのタイミングで呼ばれるかを一覧できるようにデモを行いました。懇親会やアンケートでも良かったよ、と意見を頂いたので、簡単に画面のキャプチャを並べます。
1. Controllerのフックメソッド
Controllerのフックメソッドを並べています。index()はアクションメソッドなので、ここで表示されているフックメソッドは3つです。
ソース
PLAIN TEXT
PHP:
フックメソッドの並び
2. Componentのフックメソッド
Controllerの$componentsを設定して、ControllerとComponentのフックメソッドを表示しています。赤色になっているのがComponentです。ControllerとComponentのフックメソッドが絡み合って実行されているのが分かりますね。
ソース
PLAIN TEXT
PHP:
フックメソッドの並び
2-1. Componentを複数定義
Controllerの$componentsでComponentを複数設定すると各々のフックメソッドが順に実行されます。また実行される順は$componentsで記述した順序となります。
ソース
PLAIN TEXT
PHP:
フックメソッドの並び
3. Helperのフックメソッド
さらにControllerの$helpersを設定して、ControllerとComponentとHelperのフックメソッドを表示しています。Helperのフックメソッドは青色です。Helperはビューで利用されるので、後半に集中しています。
ソース
PLAIN TEXT
PHP:
フックメソッドの並び
まとめ
個々のメソッドは知っていても、あらめたてこうして俯瞰して見るとなかなか面白いです。全体の流れが見通せるので、どこに何を書くべきか迷ったときは参考にしてみて下さい。
