# 控制器
控制器路由是用来访问网站控制器方法使用的,我们来看下面的代码:
[TOC]
## 配置
####命名空间
路由加载控制器时使用 app.php配置文件中的 path配置项做为控制器类的起始命名空间。
比如我们使用 app\home\Entry 类,我们定义的路由如下:
```
Route::get('show','app\admin\controller\Entry@show');
```
系统使用 app\home\Entry 控制器类。
#### 默认方法
当所有路由都没有匹配成功时,可以使用 config/http.php 配置文件中,default_controller与default_action 定义的配置项执行默认控制器方法。
## 基本使用
```
Route::get('foo', 'app\admin\controller\index@add');
```
当我们访问foo时调用 Home模块Index控制器的add方法
## 参数传递
控制器接收路由参数时变量名要与路由定义的参数名一致,顺序不需要和路由参数顺序一致,更多的路由参数学习请参数 [路由参数](http://www.kancloud.cn/houdunwang/hdphp3/215178) 课程章节中的讲解。
#### 路由定义
执行Entry控制器中的show方法
```
Route::get('show/{id}_{cid}.html', 'home\entry@show')
```
#### 控制器定义
```
namespace app\home\controller;
class Entry{
public function show($id,$cid){
echo "访问是 $id,$cid";
}
}
```
## 隐式控制器
HDPHP 让你能轻易地定义单一路由来处理控制器中的每一项行为。首先用 Route::controller 方法定义一个路由:
```
Route::controller('user', "app\admin\controller\Entry")
```
Controller 方法接受两个参数。第一个参数是控制器欲处理的 URI,第二个是控制器的类名称。接着只要在你的控制器中加入方法,并在名称前加上它们所对应的 HTTP 请求。
```
namespace app\home\controller;
class Entry{
public function getIndex(){
echo 'index';
}
public function getAdd(){
echo 'add';
}
public function postEdit(){
echo 'edit';
}
public function putUpdate(){
echo 'update';
}
public function deleteRemove(){
echo 'delete';
}
}
```
如果发送以下请求,将会执行 getAdd 方法
```
http://hdphp2.hd/user/add
```
- 文档已经迁移到后盾人
- 介绍
- 框架特性
- 开发规范
- 许可协议
- 作者向军
- 安装框架
- 更新框架
- 基础
- 入口文件
- 应用配置
- 优雅链接
- 目录结构
- 系统常量
- 自动加载
- 应用密钥
- 系统函数
- CSRF保护
- 依赖注入
- 跨域访问
- 配置
- 配置文件
- 基本功能
- 扩展配置
- c 函数
- 控制器
- 定义声明
- 基本使用
- 相关函数
- 响应消息
- 路由
- 基础知识
- 基础路由
- 路由参数
- 参数检测
- 依赖注入
- 控制器
- 分组路由
- RESTful
- 别名路由
- 数据
- 配置相关
- 核心操作
- 查询构造器
- 日志记录
- 分页处理
- 事务处理
- 函数相关
- 数据库
- 数据迁移
- 数据填充
- 模型
- 定义模型
- 模型动作
- 模型验证
- 自动完成
- 自动过滤
- 字段保护
- 数据填充
- 多表关联
- 分页处理
- 仓库
- 数据仓库
- 查询规则
- 视图
- 基础知识
- 模板配置
- 模板文件
- 分配数据
- 系统标签
- 扩展标签
- 缓存模板
- 模板继承
- 视图函数
- widget
- vue组件
- 中间件
- 中间件
- 缓存
- 基本操作
- 文件缓存
- 数据表缓存
- 服务
- 服务容器
- 定制服务
- 相关函数
- 请求
- 基本使用
- 请求扩展
- 测试
- 基础知识
- 基本使用
- HTTP测试
- 调试
- 调试模式
- 日志管理
- 组件
- 多语言
- 响应处理
- Cookie
- Session
- 验证码
- XML
- 自动验证
- 文件处理
- 压缩解压
- RBAC
- 数组增强
- 分页管理
- 图像处理
- 生成静态
- 加密解密
- 字符串
- 数据集合
- 工具服务
- 目录操作
- 邮件发送
- CURL
- QQ登录
- 数据备份
- 购物车
- 日志处理
- 命令组件
- 二维码
- 后盾云
- 日期处理
- 阿里
- 支付宝
- 阿里云直播
- 阿里云短信
- 阿里云邮件
- 阿里云OSS
- SOCKET
- 启动与关闭
- 前端
- 微信