![ThinkPHP实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/852/26943852/b_26943852.jpg)
上QQ阅读APP看书,第一时间看更新
4.11 空操作
当ThinkPHP找不到请求的操作时,会执行_empty方法,利用该机制,可以实现错误页面和一些URL优化。
本例使用空操作来实现一个用户预览的功能,新建Application/Home/Controller/UserController.class.php,代码如下:
<? php /** * Project: thinkphp-inaction * User: xialeistudio<1065890063@qq.com> * Date: 2016-02-18 */ namespace Home\Controller; use Think\Controller; class UserController extends Controller { public function _empty($name) { $this->view($name); } private function view($name) { echo 'name:'.$name; } }
浏览器访问http://localhost/chapter-4/Home/User/zhangsan,输出“name:zhangsan”。
执行流程如下:
(1)准备执行Home/Controller/UserController.class.php的zhangsan方法;
(2)对应zhangsan方法不存在,执行UserController.class.php的_empty方法,并将zhangsan作为$name传入;
(3)调用UserController的view方法,输出“name:zhangsan”。