Я пытаюсь переопределить show_404
метод от CI_Exceptions
, но MY_Exceptions
никогда не загружается.CodeIgniter не загружается расширенный MY_Exceptions
MY_Exceptions расположен в приложения/ядра/
Это код
<?php
class MY_Exceptions extends CI_Exceptions {
function show_404(){
header("HTTP/1.1 404 Not Found");
$CI =& get_instance();
$CI->load->view('header.php');
$CI->load->view('err/custom404.php');
$CI->load->view('footer.php');
}
}
Когда я называю show_404()
я получаю два Фатальная ошибка
Fatal error: Class 'MY_Exceptions' not found in C:\workspace\ictp-tv-main\system\core\Common.php on line 196
Fatal error: Class 'MY_Exceptions' not found in C:\workspace\ictp-tv-main\system\core\Common.php on line 196
У меня есть другие расширенные классы, которые работают ну, с тем же префиксом MY_
EDIT After @Tpojka suggestion my code is
class MY_Exceptions extends CI_Exceptions {
public function __construct()
{
parent::__construct();
$this->CI =& get_instance();
}
public function show_404($page = '', $log_error = TRUE){
header("HTTP/1.1 404 Not Found");
$this->CI->load->view('header.php');
$this->CI->load->view('err/custom404.php');
$this->CI->load->view('footer.php');
}
}
И теперь 404 страница пуста.
EDIT
РЕШЕНИЕ
Нам нужно ECHO ошибку, а не просто вид нагрузки.
public function show_404($page = '', $log_error = TRUE){
header("HTTP/1.1 404 Not Found");
echo $this->CI->load->view('header.php',array('PAGE_TITLE'=>'Page not found'),true);
echo $this->CI->load->view('err/custom404.php',null,true);
echo $this->CI->load->view('footer.php',null,true);
exit(4);
}
Спасибо @Tpojka, чтобы открыть мой разум.
Я изменяю этот путь, но получаю такую же ошибку. И я узнаю, что подпись show_404 отличается. Теперь вызывается правильный метод, но отображается пустая страница. Похоже, что взгляды пустые – lcssanches
Спасибо, открывай мой разум! – lcssanches
Счастливое кодирование. #SOreadytohelp – Tpojka