<?php
namespace appindexcontroller;
use thinkRequest;
class Error
{
public function index(Request $request)
{
//根据当前控制器名来判断要执行那个城市的操作
$cityName = $request->controller();
return $this->city($cityName);
}
//注意 city方法 本身是 protected 方法
protected function city($name)
{
//和$name这个城市相关的处理
return '当前城市' . $name;
}
}
接下来,我们就可以在浏览器里面输入
http://serverName/index/beijing/
http://serverName/index/shanghai/
http://serverName/index/shenzhen/
由于系统并不存在beijing、shanghai或者shenzhen控制器,因此会定位到空控制器(Error)去执行,会看到依次输出的结果是:
当前城市:beijing
当前城市:shanghai
当前城市:shenzhen
空控制器和空操作还可以同时使用,用以完成更加复杂的操作。
空控制器Error是可以定义的
// 更改默认的空控制器名
'empty_controller' => 'MyError',