ここではCakePHP2.xでAppControllerを複数作成する方法について解説していきます。
public function beforeFilter();
などで全ページにかかわる処理をしたい時に管理画面とフロントと処理が違う場合に役に立ちます。
FrontAppController.phpの作成
app/Controller/FrontAppController.php
<?php class FrontAppController extends Controller { /** * フロント画面はここが読み込まれます */ public function beforeFilter() { } }
AdminAppController.phpの作成
app/Controller/AdminAppController.php
<?php class AdminAppController extends Controller { /** * 管理画面はここが読み込まれます */ public function beforeFilter() { } }
各コントローラで継承
<?php // 読み込み App::uses('FrontAppController', 'Controller'); class IndexController extends FrontAppController { public $components = array('Session', 'Cookie'); public function beforeFilter() { parent::beforeFilter(); } /** * アクションメソッド */ public function index() { } }
これで管理画面とフロント部で処理を分けれます。