首頁 >php框架 >ThinkPHP >三種ThinkPHP6中取得參數的方法

三種ThinkPHP6中取得參數的方法

藏色散人
藏色散人轉載
2020-07-13 14:01:528950瀏覽

以下由thinkphp框架教學專欄為大家介紹三種ThinkPHP6中取得參數的方法,希望對需要的朋友有幫助!

三種ThinkPHP6中取得參數的方法

#在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请求}

類似的情形還有

reque st#>isGet()request->isGet()、 request->isAjax()。

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

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

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除