beforeFilter() っていうのを使うと良いそうです。
共通部分があるならbeforeFilter|ASTRODEO
AppController の中で以下のように書くと良いみたいですね。
1 2 3 4 5 6 | <?php class AppController extends Controller { function beforeFilter() { $this->set('bar', 'test'); } } |
AppController は全てのコントローラに継承されているので、基本的にこの処理はどのページでも実行されます。
ただし、他のコントローラー、AppController を継承している子クラスで beforeFilter() を使ってしまうと、親である AppController の beforeFilter() が実行されなくなります。その際には、parent::beforeFilter() を書かなければいけないそうですよー。
1 2 3 4 5 6 7 8 | <?php class HomeController extends AppController { var $name = 'Home'; function beforeFilter() { parent::beforeFilter() $this->set('foo', 'test2'); } } |
あまり頻繁に使うことはなさそうですが、かなり重要なところなので抑えておきたいところですね。
コメント