您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關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請求}
類似的情形還有request->isAjax()。
關于“ThinkPHP6中怎樣獲取參數”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。