1控制器初始化
2前置操作
3頁面跳轉
4重定向
5空操作
6空方法
7獲取請求類
8變量過濾
#### 1.控制器初始化
1)必須繼承think\Controller;
2)例:
public function _initialize(){
echo "我是初始化方法";
}
#### 2.前置操作
1)前置方法,把一些公共的設置提取成方法進行調用
2)前置操作必須繼承think\Controller;
3)例:
protected $beforeActionList=[
//新建one,two,three3個方法
'one',
//two方法不讓index使用
'two' => ['except' => 'index'],
//three方法只讓index方法使用
'three' => ['only' => 'index'],
];
public function one(){
echo "one方法";
}
public function two(){
echo "two方法";
}
public function three(){
echo "three方法";
}
#### 3.頁面跳轉
1)繼承think\Controller;
2)$this->success(提示信息,跳轉地址,用戶自定義數據,跳轉時間,header信息);
例:$this->success('登錄成功!',url('index/index'));
$this->error('登錄失敗!');
3)修改提示頁面(模板)
thinkphp\tpl\dispatch_jump.php目錄

詳細視頻地址https://ke.qq.com/webcourse/index.html#taid=1556788206081853&vid=s1420qvucec&course_id=235325&term_id=100277509
#### 4.重定向
1)引入think\Controller;
2)redirect('跳轉地址','其他參數',code,'隱式參數);
3)例:
$this->redirect('index/index',['id'=>100,'name'=>'abc']);
#### 5.空操作
1)作用:解決一些惡意地址欄輸入
2)例:
public function _empty(){
$this->redirect('index/index');
}
#### 6.空控制器

## 注意:網站上線的時候前后臺都要有空控制器,每個控制器都要有空操作
#### 7.獲取請求類
1)方法一:系統函數
$request = request();
2)方法二:
use think\Request;
//因為Request類屬于單例模式,所以不能直接使用new
$request = Request::instance();
3)方法三:系統Request類
use think\Request;
public function index(Request $request){
dump($request);
}

#### 8.變量過濾
//防止惡意輸入,sql注入
1)全部的數據進行過濾
//單個方法過濾
$request->filter("htmlspecialchars");
//多個方法過濾
$request->filter(["htmlspecialchars","strip_tags"]);
2)針對變量過濾
$request->get('name','','htmlspecialchars');
//先過濾,后加密
$request->get('name','','htmlspecialchars,md5');

修飾變量的類型
s 字符串
d 整型
f 浮點型
a 數組
b 布爾型
- 空白目錄
- 關于頁面跳轉跟重定向
- thinkphp5return的問題
- thinkphp5權限auth
- thinkphp5關聯查詢多表查詢join
- javascript
- 數據庫命令行操作
- php間隔一段時間自動執行
- PHP字符串首尾留N位,中間替換成*號
- tp5獲取當前域名
- PHP常用函數
- 注冊發送短信驗證的接口詳解
- php可逆加密解密
- 配置本地虛擬主機
- thinkphp5跨控制器調用
- thinkphp5框架加載流程
- thinkphp5路由詳解
- thinkphp5功能集合
- thinkphp5數據庫操作
- delete,put類型
- tp5數據庫查詢
- tp5數據庫增刪改
- 事務機制
- thinkphp模型model新建和查詢
- tp5model的新增
- tp5model修改
- tp5model刪除和軟刪除
- tp5視圖
- tp5API