# 空控制器 以及 空函数方法 当访问了一个链接 **/Test/Index** 但你的控制器文件中 并没有**Test.php** 既是没有**Test控制器** . 则框架会默认寻找**Action**下的**No.php**控制器 +++ get:/?Test/Index <<< Error Test控制器不存在! +++ ## 定义空控制器 新建一个空控制器 **No.php** 放入**/Action目录** 并写入内容 ~~~ <?php namespace Action; use HY\Action; class No extends Action { public function index(){ echo '你访问的控制器不存在, 但被Empty接收了'; } } ~~~ 我们在访问 +++ get:/?Test/Index <<< Success 你访问的控制器不存在, 但被Empty接收了 +++ 但如果我们访问 **/?Test/Home** 呢 +++ get:/?Test/Home <<< Success 你的\Action\No没有存在Home操作方法 +++ 就会提示 你的**Empty**中没有**Home**函数了 ## 定义空函数 我们在**Empty**中写入函数 **_no** **_no**函数 可以在任何控制中加入 ~~~ <?php namespace Action; use HY\Action; class No extends Action { public function index(){ echo '你访问的控制器不存在, 但被Empty接收了'; } public function _no(){ echo '你访问的函数未定义'; } } ~~~ 再次访问**/Test/Home** +++ get:/?Test/Home <<< Success 你访问的函数未定义 +++ 可见 **_no** 已经接收了 空控制器下的空函数 * * * * * 有同学要问了 怎么获取访问进来的控制器名以及函数名呢 框架内置了一个变量 储存了访问了URL **$_GET['HY_URL']** $_GET['HY_URL'][0] 则是 控制器名称 $_GET['HY_URL'][1] 则是 函数名称