# 控制器的定义 HYPHP控制器采用了OOP方式进行访问调用. 控制器就是一个类, 而操作方法则是一个类成员函数 下面是一个默认的 **/Action/Index.php** 内容 ~~~ <?php namespace Action; use HY\Action; class Index extends Action { public function Index(){ echo 'HY框架'; } } ~~~ 当我们访问 (如果我们直接访问首页 不增加参数 则会自动指向 Index控制器的Index() 方法) +++ get:/ <<< success HY框架 <<< +++ 访问了 /?index 既是访问了index控制器 +++ get:/?index <<< success HY框架 <<< +++ 访问了 /?index/index 既是访问了index控制器里的index() 方法 +++ get:/?index/index <<< success HY框架 <<< +++ 访问了 /?index/test 既是访问了index控制器里的test() 方法 +++ get:/?index/test <<< Error 你的\Action\IndexAction没有存在Test操作方法 +++ 当访问test就出错了 是因为Test() 并没有在Index中定义 Index中仅定义了 Index() # 定义一个新控制器 控制器的定义采用驼峰法. 首字母大写. 接下来新建一个 **User** 控制器 在**/Action**目录下新建文件 **User.php** (注意第一位大写字母) 在**User.php**文件写入内容 ~~~ <?php namespace Action; use HY\Action; class User extends Action { public function Index(){ echo '这里是User模块的Index方法'; } } ~~~ 而类的名称也是一样采用首字母大写的方式 **User** 继承了 **Action** +++ get:/?User <<< success 这里是User模块的Index方法 +++ +++ get:/?User/Index <<< success 这里是User模块的Index方法 +++ 同理, 如果你仅仅访问了User控制器 却没有输入Index , 框架还是会自动指向Index()函数, 如果你的User控制器中 没有Index()函数 则会出错 * * * * * 有朋友不明白 为什么访问 /?User/Index 就能触发 Action/User.php文件中的Index函数 而根目录并没有/User目录呀