• ベストアンサー

cakePHP app_controllerのコンストラクタ

すみません、初歩的なことだとは思いますが、教えて下さい。 全ページに共通するロジックがあるので、 app_controllerのコンストラクタに書けないかなと思ったんですが、 Call to a member function init() on a non-object in と怒られます。 app_controllerにはコンストラクタは使えないんですか? 全ページに反映させたい場合はどこにどう書けばいいんでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#94983
noname#94983
回答No.2

>appでは使えないんでしょうか・・・ ん? そんなことはないぞ。さっき試してみたが、app_controller.phpのコンストラクタをオーバーライドして問題なく動いているがな。 class AppController extends Controller { public function __construct(){ parent::__construct(); // ここに処理を追記 } } これでこっちでは全く問題なく動いている。 ひょっとして、スーパークラスにコンストラクタの呼び出しを渡すのを忘れたりしてないだろうか。

seiroku55
質問者

お礼

parent::__construct(); これでした。 全然理解してなかったんですね。 勉強になりました。 ありがとうございます!

その他の回答 (1)

noname#94983
noname#94983
回答No.1

initではなく、function __construct()で書いたらどうだろうか。

seiroku55
質問者

お礼

ご回答ありがとうございます。 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では使えないんでしょうか・・・

関連するQ&A