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路由实现的效果是一样的,而且不需要定义路由定义文件。