# 控制器
控制器路由是用來訪問網站控制器方法使用的,我們來看下面的代碼:
[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.hmoore.net/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
- 啟動與關閉
- 前端
- 微信