- ベストアンサー
cakePHP app_controllerのコンストラクタ
すみません、初歩的なことだとは思いますが、教えて下さい。 全ページに共通するロジックがあるので、 app_controllerのコンストラクタに書けないかなと思ったんですが、 Call to a member function init() on a non-object in と怒られます。 app_controllerにはコンストラクタは使えないんですか? 全ページに反映させたい場合はどこにどう書けばいいんでしょうか? よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>appでは使えないんでしょうか・・・ ん? そんなことはないぞ。さっき試してみたが、app_controller.phpのコンストラクタをオーバーライドして問題なく動いているがな。 class AppController extends Controller { public function __construct(){ parent::__construct(); // ここに処理を追記 } } これでこっちでは全く問題なく動いている。 ひょっとして、スーパークラスにコンストラクタの呼び出しを渡すのを忘れたりしてないだろうか。
その他の回答 (1)
initではなく、function __construct()で書いたらどうだろうか。
お礼
ご回答ありがとうございます。 function __construct(){ } で書いて、 Call to a member function init() on a non-object in /home/wwwuser/htdocs/cake/cake/libs/controller/controller.php on line 413 ってエラーがでます。 バージョンは1.2です。 appでは使えないんでしょうか・・・
お礼
parent::__construct(); これでした。 全然理解してなかったんですね。 勉強になりました。 ありがとうございます!