ThinkPHP实战
上QQ阅读APP看书,第一时间看更新

4.12 空控制器

当ThinkPHP查找不到对应的控制器文件的时间,会尝试请求空控制器EmptyController,与空操作类似,也可以用该机制定制错误页面和URL优化。

编辑Application/Home/Controller/EmptyController.class.php,代码如下:

        <? php
        /**
         * Project: thinkphp-inaction
         * User: xialeistudio<1065890063@qq.com>
         * Date: 2016-02-18
         */
        namespace Home\Controller;
        use Think\Controller;
        class EmptyController extends Controller
        {
            public function index()
            {
                $name = CONTROLLER_NAME;
                $this->view($name);
            }
            private function view($name)
            {
                echo 'name:' . $name;
            }
        }

浏览器访问http://localhost/chapter-4/Home/zhangsan,输出“name:Zhangsan”,首字母自动大写了,这是ThinkPHP的Controller命名规范。

注意:CONTROLLER_NAME是ThinkPHP内置常量,指当前请求的控制器名称。