Визуализация представления из AppExceptionHandler - PullRequest
4 голосов
/ 27 декабря 2011

Я работаю с CakePHP 2.0 и хочу обработать исключение ForbiddenException. Я следовал примеру , описанному в кулинарной книге CakePHP.

Мое исключение теперь обнаруживается в AppExceptionHandler, но я не знаю, как двигаться дальше. Я хочу сделать релевантный вид, но $this недоступен. У кого-нибудь есть отправная точка для меня?

Edit:
Мой код до сих пор идентичен примеру поваренной книги:

В приложении / Config / core.php

Configure::write('Exception.handler', 'AppExceptionHandler::handle');

В приложении / Config / bootstrap.php

App::uses('AppExceptionHandler', 'Lib');

В приложении / Lib / AppExecptionHandler.php

class AppExceptionHandler {
    public static function handle($error) {
        if($error instanceOf ForbiddenException ){
            echo 'Oh noes! ' . $error->getMessage();
            // $this->Session->setFlash('To access the page please login');     
        }
    }
}

С уважением, Bart

1 Ответ

0 голосов
/ 12 апреля 2012

Как вы упомянули в своем комментарии, вы можете копировать представления ошибок в свою собственную папку View и управлять рендерингом.

Если вы также хотите использовать сеанс, помните, что в любой части вашего приложения вы также можете использовать CakeSession для доступа к сеансу.

http://book.cakephp.org/2.0/en/development/sessions.html#reading-writing-session-data

...