獲取方法引數 ThinkPHP6三種獲取引數的方法

2021-10-14 16:54:27 字數 1611 閱讀 6967

thinkphp6獲取引數的方法有多種,初學者可能知道其中的一種,然後在看到其他人**的時候又換了個寫法,可能會一臉懵逼,下面就給大家總結一下thinkphp6中獲取引數的方法。

假設我們有以下4種請求url:

var_dump(input('id')); // ①、②鏈結都是1,③、④都是null
$this->request->param(); // 該方法返回所有的引數,返回值是乙個陣列$this->request->param('id'); // 獲取指定引數的值$this->request->get('id'); // 只對②鏈結生效,獲取id的值$this->request->param('id', 1, 'intval'); // 接收引數id的值並轉成整型,結果為1
注意:使用該方法之前需要先引入:use thinkfacaderequest;

request::param(); // 獲取當前請求的所有變數request::param('name'); // 獲取請求的name值,返回字串,如果沒有傳值,則返回nullrequest::param(['name', 'email']); // 獲取多個引數值
其中,還有has方法可以檢測變數是否已經設定,如:

request::has('id', 'get');request::has('name', 'post'); // 檢測是否有post方法傳遞的name值,有的話返回true,反之為false。
變數檢測可以支援所有支援的系統變數,包括get/post/put/request/cookie/server/session/env/file

以上三種方法是tp6獲取引數的歸納總結,在很多情況下,我們需要判斷當前操作的請求型別是哪一種,如:get、post、put、delete或者是head等等,同時不僅需要針對不同的請求型別做出相應的邏輯處理,更要兼顧安全性的驗證,過濾非法請求,tp6框架提供了請求物件request類的多種方法來獲取、判斷當前請求型別,例如,判斷乙個請求是否為post請求,我們可以這樣做:

if($request->ispost())
類似的情形還有$request->isget()、$request->isput()、$request->isajax()等等,具體的方法如下圖:

注意:method方法返回的請求型別始終是大寫的,並且這些方法都不需要傳入任何引數。

ThinkPHP6中獲取引數的3種常用方法 總結

在thinkphp6中獲取引數有多種方法,也有很多使用小技巧,很多新手經常知道一種方法,後來在看別人 的時候又發現第二種 第三種,一頭霧水了 下面咱們就縷一縷thinkphp6中獲取引數有多種方法。我們先假設有以下url a b c d 第一種 依賴注入 dump this request para...

ThinkPHP(6) 模板技術

判斷比較標籤 區間標籤 三元運算子 php 在如下圖所示目錄中建立html 然後在index控制器的index方法中,呼叫模板 那麼當你訪問 index index時就會顯示index.html。如果你不想要模板和方法同名,你可以在display方法中跟上模板名稱即可。如下圖 兩種方式賦值 clas...

thinkphp6陣列分頁

一 因為有複雜的資料統計,需要組陣列,這時候使用tp6的分頁會有問題,於是改為陣列分頁的方式,將以前tp3的分頁拿過來改了一下,話不多說上 引入tp3分頁源 為了和tp6的區別不會太明顯,修改了源 放入tp6 vendor topthink framework src think 下 修改詳情 1 ...