ThinkPHP开发指南-控制器之空操作
来自站长百科
导航:返回上一页
空操作是指系统在找不到指定的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。
例如,我们前面用URL路由实现了一个城市切换的功能,下面我们用空操作功能来重新实现。我们只需要给CityAction类定义一个_emtpy (空操作)方法:
PHP代码
Class CityAction extends Action{
Public function _empty(){
// 把所有城市的操作都解析到city方法
$cityName = ACTION_NAME;
$this->city($cityName);
}
// 注意city方法本身是protected方法
PHP代码
Protected function city($name){
// 和$name 这个城市相关的处理
Echo ('当前城市: '.$name);
}
}
接下来,我们就可以在浏览器里面输入
http://<serverName>/index.php/City/beijing/ http://<serverName>/index.php/City/shanghai/ http://<serverName>/index.php/City/shenzhen/
会看到依次输出的结果是:
当前城市:beijing 当前城市:shanghai 当前城市:shenzhen
可以看出来,和用URL路由实现的效果是一样的,而且不需要定义路由定义文件。