Zend Framework, как обрабатывать исключения - PullRequest
0 голосов
/ 27 июля 2011

Как лучше всего генерировать исключение в следующей ситуации:

Моя структура URL-адреса: / Articles / View / ID / 1

Мой контроллер: AticlesController

И этот контроллер загружает модель Mapper: Application_Model_Mapper_Articles

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

Если я решу выбросить ошибку.Как мне это сделать?

Моим первым предположением было бросить его изнутри модели.Но по умолчанию нет класса Model_Exception и есть Zend_Controller_Action_Exception.Должен ли я просто выбросить это исключение из модели?Или я должен передать сообщение об ошибке от модели к контроллеру и затем выдать ошибку?

Ответы [ 2 ]

3 голосов
/ 27 июля 2011

Сама модель не должна мешать работе FrontController, так что да, выкиньте исключение из контроллера.

Вы можете выбросить исключение из модели (не Zend_Controller_Action_Exception, а то, которое более точно описывает вашу проблему), поймать его в контроллере и на этом основании решить, собираетесь ли вы выбросить Zend_Controller_Action_Exception или нет. 1005 *

0 голосов
/ 27 июля 2011

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

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