空操作是指系统在找不到指定的操作方法的时候,会定位到空操作( _empty)方法来执行,利用这个机制,我们可以实现错误页面和一些 URL的优化。
例如,下面我们用空操作功能来实现一个城市切换的功能。
我们只需要给 CityAction类定义一个 _emtpy (空操作)方法:
<?php class CityAction extends Action { public function _empty($name) { //把所用操作解析到city方法 $this->city($name); } protected function city($name) { header("Content-Type:text/html; charset=utf-8"); $cityname = array('wuhan'=>'武汉','beijing'=>'北京'); //和$name相关的处理 if(array_key_exists($name,$cityname)) { $name = $cityname[$name]; echo ("当前城市:".$name); } else { echo "对不起您输入城市有误!"; } } } ?>
接下来,我们就可以在浏览器里面输入
由于 CityAction并没有定义 beijing、 shanghai或者 shenzhen操作方法,因此系统会定位到空操作方法 _empty中去解析, _empty方法的参数就是当前 URL里面的操作名,因此会看到依次输出的结果是:
当前城市 :武汉
当前城市:北京
对不起您输入城市有误!