# 控制器的定义
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目录呀
- HYPHP框架前言
- 基本认识
- 环境要求
- 框架目录结构
- 入口文件
- 开始使用
- 访问框架
- 控制器
- 控制器定义
- 空控制器空函数
- 显示模板
- 模板变量赋值
- Json输出
- URL缩短控制器方法
- URL生成
- 请求类型
- 模板
- 建立模板
- 模板分组
- ----标签类----
- 输出变量
- 包含模板
- 判断标签
- 循环标签
- 数据库模型
- 数据库介绍
- 连接数据库
- 多数据库
- 配置多数据库
- 使用多数据库
- where条件
- 基础where
- AND OR
- LINK 模糊查找
- ORDER 排序
- MATCH 多键搜索
- 数据库内置函数
- LIMIT
- Select
- 多表Select
- Insert 插入数据
- Update 更新数据
- Delete 删除数据
- Find 查找一行
- Has 是否存在该数据
- Count 总数
- Max/Min 表最大/小值
- Action 事务
- 原生查询
- Model 定义
- 调试模式
- 查询缓存
- 自定义类库
- 框架内置函数
- X 获取预定义变量
- S 与 M 函数
- C 获取config配置
- A 调用另一个控制器方法
- cookie 与 session 函数
- E 函数
- cache 数据缓存
- F 文件数据缓存
- 判断电脑端移动端
- vendor 映射自动加载类路径
- 框架内置常量
- 框架内置Config.php配置
- 插件模式
- 开启插件模式
- 新建插件
- 插件独立开关
- 中文PHP
- 简介
- 开启支持
- 中文API
- 使用示例
- 加入自定义中文函数配置