空控制器的概念是指当系统找不到请求的控制器名称的时候,系统会尝试定位空控制器(EmptyController),利用这个机制我们可以用来定制错误页面和进行URL的优化。
/**
* 空模块,主要用于显示404页面,请不要删除
*/
class EmptyController extends HomeController {
// 没有任何方法,直接执行HomeController的_empty方法
// 请不要删除该控制器
function _empty() {
header ( "HTTP/1.0 404 Not Found" ); // 使HTTP返回404状态码
$this->display ( "Public:404" );
}
function index() {
header ( " HTTP/1.0 404 Not Found" );
$this->display ( "Public:404" );
}
}
空操作是指系统在找不到请求的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。
/* 空操作,用于输出404页面 */
public function _empty() {
header ( "HTTP/1.0 404 Not Found" ); // 使HTTP返回404状态码
$this->display ( "Public:404" );
exit;
}
404 页面代码: