Thinkphp學習筆記7 輸入變數

2021-09-07 03:23:38 字數 1343 閱讀 8046

在web開發過程中,我們經常需要獲取系統變數或者使用者提交的資料,這些變數資料錯綜複雜,而且一不小心就容易引起安全隱患,但是如果利用好thinkphp提供的變數獲取功能,就可以輕鬆的獲取和駕馭變數了。

雖然你仍然可以在開發過程中使用傳統方式獲取各種系統變數,例如:

$id    =  $_get['id']; //

獲取get變數

$name = $_post['name']; //

獲取post變數

$value = $_session['var']; //

獲取session變數

$name = $_cookie['name']; //

獲取cookie變數

$file = $_server['php_self']; //

獲取server變數

但是我們不建議直接使用傳統方式獲取,因為沒有統一的安全處理機制,後期如果調整的話,改起來會比較麻煩。所以,更好的方式是在框架中統一使用i函式進行變數獲取和過濾。

i方法是thinkphp用於更加方便和安全的獲取系統輸入變數,可以用於任何地方,用法格式如下:

i('變數型別.變數名/修飾符',['預設值'],['過濾方法'],['額外資料來源'])

變數型別是指請求方式或者輸入型別,包括:

變數型別

含義get

獲取get引數

post

獲取post引數

param

自動判斷請求型別獲取get、post或者put引數

request

獲取request 引數

put獲取put 引數

session

獲取 $_session 引數

cookie

獲取 $_cookie 引數

server

獲取 $_server 引數

globals

獲取 $globals引數

path

獲取 pathinfo模式的url引數(3.2.2新增)

data

獲取 其他型別的引數,需要配合額外資料來源引數(3.2.2新增)

變數名則嚴格區分大小寫。

預設值和過濾方法均屬於可選引數。

變數修飾符是3.2.3版本新增

我們以get變數型別為例,說明下i方法的使用:

echo i('get.id');// 相當於 $_get['id']

echo i('get.name');// 相當於 $_get['name']

thinkphp學習筆記7 多層MVC

原文 thinkphp學習筆記7 多層mvc thinkphp支援多層設計。1.模型層model 使用多層目錄結構和命名規範來設計多層的model,例如在專案設計中如果需要區分資料層,邏輯層,服務層等不同的模型層可以在模組目錄下建立model,logic,service目錄,把對使用者表的所有模型操...

thinkphp學習筆記7 多層MVC

原文 thinkphp學習筆記7 多層mvc thinkphp支援多層設計。1.模型層model 使用多層目錄結構和命名規範來設計多層的model,例如在專案設計中如果需要區分資料層,邏輯層,服務層等不同的模型層可以在模組目錄下建立model,logic,service目錄,把對使用者表的所有模型操...

thinkphp學習筆記7 多層MVC

原文 thinkphp學習筆記7 多層mvc thinkphp支援多層設計。1.模型層model 使用多層目錄結構和命名規範來設計多層的model,例如在專案設計中如果需要區分資料層,邏輯層,服務層等不同的模型層可以在模組目錄下建立model,logic,service目錄,把對使用者表的所有模型操...