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');
}
}
私は
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
2つの致命的なエラーが発生しますshow_404()
を呼び出すと、私はその仕事他の拡張クラスを持っているのですアプリケーション/コア/
に位置しています同じプレフィックスを持つよく、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
SOLUTION
我々はエラーではなく、単純なロードビューをエコーする必要があります。
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