CakePHP 2.0.3 Фатальная ошибка flash () на объекте - PullRequest
1 голос
/ 17 ноября 2011

Я получаю это сообщение, когда пытаюсь использовать неправильный контроллер, и я выяснил, что я не получаю правильное сообщение Ошибка от cakephp У меня в 2.0.0 правильное:

Теперь, когда я пытаюсь использовать неправильный контроллер, я получаю только это сообщение:

Fatal error: Call to a member function Flash() on a non-object in
/srv/www/htdocs/web843/HTML/schaetzmal/lib/Cake/View/Layouts/default.ctp
on line 44

Есть ли в CakePHP 2.0.3 ошибка или я пропускаю что-то для установки, чтобы позволить этому или чему-то еще, что я могу сделать?

Ответы [ 2 ]

5 голосов
/ 17 ноября 2011

Убедитесь, что вы добавили помощника Session в общедоступный массив $helpers.

class SomethingsController extends AppController {
    public $helpers = array('Session');
}

Или вы можете добавить его к глобальному контроллеру приложений , чтобы помощник сеанса был доступен для всех контроллеров.

class AppController extends Controller {
    public $helpers = array('Session');
}
0 голосов
/ 18 ноября 2011

Я обнаружил некоторые проблемы, почему мой AppController не работал.

Как Mensch говорит, что я должен использовать Session в моем AppController для глобального, но это не решение, потому что в книге CakePHP говорится в" глобальный AppController "

NOTE CakePHP объединяет следующие переменные из AppController с контроллерами вашего приложения:

  • $компоненты
  • $ helpers
  • $ использует

, но этого не происходит.Потому что я перезаписываю его в публичной переменной $helpers.поэтому я беру родительское заданное и сливаю его с ним:

<?

class AppController extends Controller {

    public $viewClass   = 'Theme';
    public $theme;

    public function beforeFilter() {
        parent::beforeFilter();
        $this->theme = 'SM';
        $this->helpers = array('Form','Html','Js');
    }

}

?>

, $this->helpers = array('Form','Html','Js'); выполняем слияние, и оно отлично работает.спасибо, ребята

спасибо за помощь Мэншу, это был хак, который мне был нужен

...