Я использую CodeIgniter и есть основной вид, который вызывает другой вид, основанный на PARAM я прохожу его, так, например, я мог бы передать что-то вроде этого от контроллера:CodeIgniter: Обнаружение, если произошла ошибка ввиду
$data['view'] = 'login';
$this->load->view('main', $data);
Все это прекрасно работает и денди, однако я пытаюсь передать страницы с ошибками одинаково. На моих страницах ошибок у меня есть что-то похожее на мой контроллер, где я устанавливаю представление, а затем вызываю основной вид.
Это прекрасно работает, если я еще не обработал никаких просмотров, например, если я получаю ошибку PHP в контроллере. Однако, если я получу ошибку в представлении, она будет обрабатывать основной вид дважды (следовательно, html/head/body tags дважды)
Если я просто выплюнул страницу с ошибкой без основного вида, контент мог идти куда угодно, скажем например, тег заголовка, поэтому мне нужно восстановить всю страницу.
Я знаю, что он находится в середине обработки текущего представления, поэтому нет смысла очищать вывод чего-то, что в настоящее время генерирует вывод, но все равно для этого. Значит, когда страница ошибок попадает, очищайте что-нибудь, сгенерированное, а затем просто выводите все с страницы с ошибкой?