三種ThinkPHP6中獲取參數的方法

下面由thinkphp框架教程欄目給大家介紹三種thinkphp6中獲取參數的方法,希望對需要的朋友有所幫助!

三種ThinkPHP6中獲取參數的方法

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

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

我們先假設有以下url:

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

立即學習PHP免費學習筆記(深入)”;

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 thinkfacadeRequest;

檢測變量是否設置:

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->isGet()、request->isAjax()。

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享