空操作
空操作是指系统在找不到指定的操作方法的时候,会定位到空操作(_empty)方法来执行。_empty方法会传入当前url中的控制器名称。_empty($action)
空控制器
空控制器的概念是指当系统找不到指定的控制器名称的时候,系统会尝试定位空控制器(Error)。
- config.php:
// 更改默认的空控制器名'empty_controller' => 'MyError',
- 如果控制器输入错误,并且设置了Error.php,还是会继续判断行为是否存在,所以Error.php里还需要进行 空操作 的处理。
404页面
- config.php
'http_exception_template' => [
// 定义404错误的重定向页面地址
404 => APP_PATH.'../extend/404.html',
]
- 注意: http_exception_template配置仅在部署模式下面生效。也就是
'app_debug' => false
- 空控制器抛出404页面:
namespace app\admin\controller;
class Error
{
function _empty($action){
abort(404);
}
}