CakePHPでは、AppControllerのbeforeFilter()で、Authコンポーネントの設定など色々な処理を書くと思います。
各コントローラでbeforeFilter()をオーバーライドした際、よくparent::beforeFilter()を呼び忘れてハマるのは、たぶん私だけではないですよね?
そこで、呼び忘れを防止する簡単な対策です。
class AppController extends Controller { public function __construct() { parent::__construct(); $this->layout = 'error'; } public function beforeFilter() { $this->layout = 'front'; //ほにゃらら } }
このようにすることで、各コントローラでparent::beforeFilter()を呼び忘れると、エラーレイアウトが表示されます。
目立って、すぐに分かりますね。
コンストラクタでerrorをセットすることで、各コントローラで
public $layout = 'front';
のようにやっていても上書きできます。
各コントローラのbeforeFilter()でlayoutをセットしていたら検知できないですが、簡易的な対策として、一定の効果はあるのでは無いでしょうか?
開発が終わったら、最適化のため消しておきましょう。
# 気づいていると思いますが、AndriodのSuperNotCalledExceptionのノリです