久しぶりにCakePHPを扱う機会があり、CakePHP 2.3.10 をセットアップして、bake で簡単なアプリを作成しました。
そのアプリで登録操作を行った際に「Error: Call to a member function setFlash() on a non-object」が発生したので、その対処を簡単ですが記録しておきます。
エラー内容
上記のとおりですが、「Error: Call to a member function setFlash() on a non-object」が発生しました。
対処方法
app/Controller/AppController.php を修正しました。
修正前の設定は以下でした。(CakePHP初期設定時にDebugKitを入れています。)
class AppController extends Controller { var $components = array('DebugKit.Toolbar'); }
修正後の設定内容は以下です。
class AppController extends Controller { var $components = array('DebugKit.Toolbar','Session'); }
Session系の設定が足りなかったみたいです。