CakePHPでシステムを作った時に管理画面用や管理者用のページだけで使用する関数などをAppControllerで分けたいとい時があります。そんな思いが出てきてちょっと調べてみたら、それほど難しくなくクラス分けで実装することができました。その詳細は以下に。
ここではAppControllerに管理者用のAdminAppControllerを作り、そこに管理者用の処理を書くとします。そうした場合は下記のようなソースをapp_controller.phpファイルに書きます。
// 通常のAppControllerの処理
class AppController extends Controller {
// :
}
// 管理者用のAppControllerの処理
class AdminAppController extends AppController{
// :
}
ここで注意しておくことがAdminAppControllerで継承しているのがAppControllerであることです。
ではこのAdminAppControllerを各コントローラーでどうやって使用するかですが、通常の
class HogeController extends AppController {
// :
}
ではAdminAppControllerの処理は行いません。管理者用のAdminAppControllerを通したければ
class HogeController extends AdminAppController {
// :
}
と、AdminAppControllerを継承すれば処理してくれます。「継承」について多少なりとも知っていればごく普通のことですが、なかなかこの処理方法を思いつかない人もいることでしょう。
価格¥180
順位46,145位
著滝下 真玄
発行秀和システム
発売日2010/09/27
- 投稿タグ
- CakePHP