Home > CakePHP | PHP > CakePHP 目で見るフックメソッド

CakePHP 目で見るフックメソッド

この記事の所要時間: 146

第2回CakePHP関西勉強会でやったデモをこちらでも。

CakePHPには色々なフックメソッドがあるのですが、それらがどのタイミングで呼ばれるかを一覧できるようにデモを行いました。懇親会やアンケートでも良かったよ、と意見を頂いたので、簡単に画面のキャプチャを並べます。

1. Controllerのフックメソッド

Controllerのフックメソッドを並べています。index()はアクションメソッドなので、ここで表示されているフックメソッドは3つです。

ソース

<?php
class DemoController extends AppController {
  public $uses = array();

  public function index() {
  }
}
?>

フックメソッドの並び

2. Componentのフックメソッド

Controllerの$componentsを設定して、ControllerとComponentのフックメソッドを表示しています。赤色になっているのがComponentです。ControllerとComponentのフックメソッドが絡み合って実行されているのが分かりますね。

ソース

<?php
class DemoController extends AppController {
  public $uses = array();
  public $components = array('Demo'); //<---追加

  public function index() {
  }
}
?>

フックメソッドの並び

2-1. Componentを複数定義

Controllerの$componentsでComponentを複数設定すると各々のフックメソッドが順に実行されます。また実行される順は$componentsで記述した順序となります。

ソース

<?php
class DemoController extends AppController {
  public $uses = array();
  public $components = array('Hoge','Demo'); //<---追加

  public function index() {
  }
}
?>

フックメソッドの並び

3. Helperのフックメソッド

さらにControllerの$helpersを設定して、ControllerとComponentとHelperのフックメソッドを表示しています。Helperのフックメソッドは青色です。Helperはビューで利用されるので、後半に集中しています。

ソース

<?php
class DemoController extends AppController {
  public $uses = array();
  public $components = array('Demo');
  public $helpers = array('Demo'); //<---追加

  public function index() {
  }
}
?>

フックメソッドの並び

まとめ

個々のメソッドは知っていても、あらめたてこうして俯瞰して見るとなかなか面白いです。全体の流れが見通せるので、どこに何を書くべきか迷ったときは参考にしてみて下さい。

Pocket

follow us in feedly

トラックバック:2

このエントリーのトラックバックURL
/blog/2009/06/cakephp_hook_methods.html/trackback
Listed below are links to weblogs that reference
CakePHP 目で見るフックメソッド from Shin x blog
pingback from 今週の管理人Bookmark (6/7-6/14) - ElectronicBrain is eating BreakFast 09-06-14 (日) 23:57

[…] CakePHP 目で見るフックメソッド | Shin x blog […]

pingback from [CakePHP]Authコンポーネント利用時にパスワードをvalidateする | HappyQuality 12-04-16 (月) 22:14

[…] 参考:CakePHP 目で見るフックメソッド – Shin x blog […]

Home > CakePHP | PHP > CakePHP 目で見るフックメソッド

検索
フィード
メタ情報

Return to page top