首頁 >php框架 >ThinkPHP >ThinkPHP6中取得參數的3種常用方法【總結】

ThinkPHP6中取得參數的3種常用方法【總結】

王雪芹
王雪芹原創
2020-04-30 11:16:034321瀏覽

在ThinkPHP6中取得參數有多種方法,也有很多使用小技巧,很多新手常常知道一種方法,後來在看別人程式碼的時候又發現第二種、第三種,一頭霧水了…

下面咱們就縷一縷ThinkPHP6中取得參數有多種方法。

我們先假設有以下url:

A:http://www.a.com/index/index/hello/id/1.html

#B:http://www.a.com/index/index/hello?id=1 

C:http://www.a.com/index/index/hello?name=12aa 

D:http://www.a.com/index/index/hello?name=aa123dd

第一種:依賴注入

dump($this->request->param());//所有參數,傳回陣列

array:1 [
  "name" => "1"
 ]

dump($this->request->param('id'));/ /具體參數,傳回字串

dump($this->request->get('id'));//只對B類url生效

dump($this ->request->param('name','aaa'));//如果沒有name參數傳遞,設定預設值,回傳字串aaa

dump($this->request- >param('name','1','intval'));對接收的參數轉整數,A類別url回傳預設值1,C類別URL回傳12,D類別url回傳0

第二種:使用助手函數

var_dump(input('id'));//A類別url和B類別url都傳回字串1。 C類別url與D類別url沒有傳遞則回傳NULL

第三種:靜態取得

使用之前先引入use think\facade\Request;

偵測變數是否設定:

Request::has('id','get');A類別url和B類別url都回傳回ture,C類別url和D類別url回傳false

Request::has('name','post');偵測是否有post過來的name,回傳ture或false

Request::param('name');// 取得目前請求的name變量,傳回字串,不傳遞輸出null

Request::param();// 取得目前請求的所有變數(經過篩選)

Request::param( false);// 取得目前請求未經過濾的所有變數

Request::param(['name', 'email']);// 取得部分變數

##最後:

除此之外,在某些情況下,我們還需要判定是什麼請求,

例如:

if($request->isPost()){
    //判断是否是post请求
}

類似的情形還有$ request->isGet()、$request->isAjax()。

以上就是ThinkPHP6中獲取參數的各種方式,可能還不是很全,但是掌握這些基本能滿足大部分情形下的參數獲取啦…

以上是ThinkPHP6中取得參數的3種常用方法【總結】的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn