QuickAnswer
by

CakePHP3 Controller/AppControllerのサブクラスを間に挟む

CakePHP3 Controller/AppControllerのサブクラスを間に挟む

CakePHP3.4.6 こちら CakePHP3 Model/Entityのサブクラスを間に挟む で書きましたが、同様にController/AppController.phpのサブクラスを作成して間に挟むことも容易です。

Controller/AppController.phpのサブクラスを作成

Controller/SAppController.php として間に挟むクラスを作成

namespace App\Controller;

use Cake\Controller\Controller;

class SAppController extends AppController {
}

間のクラスから派生させる

Controller/UsersController.php

namespace App\Controller;

use App\Controller\SAppController;

class UsersController extends SAppController {
}

なぜ間に挟むのか

コントローラの場合は Controller/AppController.php がすぐに触れる位置に有りますので、わざわざ間のクラスを作成しなくてもいいのですが、色々機能を分けたい場合や、 AppController.php にごちゃごちゃ書きたくない場合にいいのではないでしょうか。

このあたりはphpの基礎ですのでわざわざ解説するのは変な話ですが、CakePHP2との違いで、非常に扱いやすくなりましたので書いてみました。

CONTENTS