Одна страница 404 для контроллера администратора и другая страница 404 для других контроллеров, как? - PullRequest
2 голосов
/ 25 августа 2010

Я очень новичок в MVC, и сейчас я читаю о CakePHP, ZendFramework и т. Д.

Я не могу понять, как я могу установить одну страницу 404 для отсутствующих методов контроллера администратора и другие страницы 404 длявсе остальные методы контроллера.

Вопрос не в ZendFramework, CakePHP и т. д., а в MVC.Я пишу свой собственный MVC, и я не могу понять, как реализовать эту функцию?

Ответы [ 3 ]

2 голосов
/ 26 августа 2010

Zend Framework следует простому подходу.

По умолчанию существует плагин Front Controller, называемый ErrorHandler. Когда из вашего приложения возникает исключение, исключение заключается в том, что он перехватывается плагином ErrorHandler.

Плагин перенаправляет исключение в соответствующий ErrorController, который может фактически отобразить возникшую ошибку.

Так что я предполагаю, что на вашем ErrorController может быть принято любое решение, в котором вы могли бы принять во внимание модуль / контроллер / точку действия, к которой было добавлено исключение.

1 голос
/ 25 августа 2010

Одним из решений, используемых Zend Framework, является концепция модулей. Модули - это группы контроллеров, моделей, представлений и всех их необходимых компонентов, которые обеспечивают определенную функциональность. Я обычно пишу основную реализацию MVC, а затем добавляю каталог модулей для своей реализации MVC для конкретного администратора. Чтобы увеличить повторное использование кода, вы можете сделать так, чтобы код расширял основной код приложения.

Более подробную информацию о стратегиях модулей MVC можно найти здесь: http://framework.zend.com/manual/en/zend.controller.modular.html

1 голос
/ 25 августа 2010

В MVC может существовать концепция разрешений, в основном это считается аутентификацией, но это не обязательно так.

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

Другая концепция заключается в том, что существуют админские "страницы" и "страницы" сайта, поэтому, если кто-то просматривает ваш / admin / раздел сайта, администратор показывает 404 страницы, в противном случае отображаются обычные 404 страницы.

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