CakePHPアプリからログアウトしようとすると、次のエラーが発生します。
Notice (8): Undefined property: UsersController::$Session [APP/controllers/users_controller.php, line 75]
Fatal error: Call to a member function setFlash() on a non-object in /Users/cameron/Sites/cakeapp/app/controllers/users_controller.php on line 75
これは、74、75、76行目のコードです。
function logout() {
$this->Session->setFlash('Good-Bye');
$this->redirect($this->Auth->logout());
}
UsersコントローラにSessionコンポーネントが読み込まれていないようです。
Sessionコンポーネントはデフォルトで読み込まれるはずですが、AppControllerでコンポーネントの配列を設定している場合は、デフォルトが上書きされます。
これは、
var $components = array();
appControllerで、Sessionコンポーネントがそこに含まれていることを確認してください:
var $components = array('Session');
または、アプリ全体で使用したくない場合は、UsersコントローラーにSessionコンポーネントを読み込むことができます。