TP 框架中 獲取變數 I 方法

2021-07-08 22:38:07 字數 3035 閱讀 2623

thinkphp 中 i() 是獲取變數值,可以通過這個方法,對變數進行驗證,從而保證了資料的可靠性。

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版本新增

[php]view plain

copy

echo

i('get.id'

); // 相當於 $_get['id']

echo

i('get.name'

); // 相當於 $_get['name']

[php]view plain

copy

// 採用htmlspecialchars方法對$_get['name'] 進行過濾,如果不存在則返回空字串

echo

i('get.name',''

,'htmlspecialchars'

);   

[php]view plain

copy

// 獲取整個$_get 陣列

i('get.'

);   

[php]view plain

copy

i('server.request_method'

); // 獲取 $_server['request_method'] 

param變數型別是框架特有的支援自動判斷當前請求型別的變數獲取方式,例如:

echo i('param.id');

如果當前請求型別是get,那麼等效於 $_get['id'],如果當前請求型別是post或者put,那麼相當於獲取 $_post['id'] 或者 put引數id。

由於param型別是i函式預設獲取的變數型別,因此事實上param變數型別的寫法可以簡化為:

[php]view plain

copy

i('id'

); // 等同於 i('param.id')

i('name'

); // 等同於 i('param.name')

path型別變數可以用於獲取url引數(必須是pathinfo模式引數有效,無論是get還是post方式都有效),例如: 當前訪問url位址是http://servername/index.php/new/2013/06/01

[php]view plain

copy

echo

i('path.1'

); // 輸出2013

echo

i('path.2'

); // 輸出06

echo

i('path.3'

); // 輸出01

如果沒有在呼叫i函式的時候指定過濾方法的話,系統會採用預設的過濾機制(由default_filter配置),事實上,該引數的預設設定是:

[php]view plain

copy

// 系統預設的變數過濾機制

'default_filter'

=> 

'htmlspecialchars'

也就說,i方法的所有獲取變數如果沒有設定過濾方法的話都會進行htmlspecialchars過濾,那麼:

[php]view plain

copy

// 等同於 htmlspecialchars($_get['name'])

i('get.name'

);   

支援多個過濾,例如:

[php]view plain

copy

'default_filter'

=> 

'strip_tags,htmlspecialchars'

3.2.3版本開始,i函式支援對變數使用修飾符功能,可以更好的過濾變數。

i('變數型別.變數名/修飾符');

[php]view plain

copy

i('get.id/d'

);  

i('post.name/s'

);  

i('post.ids/a'

);  

可以使用的修飾符包括:

修飾符作用

s強制轉換為字串型別

d強制轉換為整形型別

b強制轉換為布林型別

a強制轉換為陣列型別

f強制轉換為浮點型別

TP框架中S函式使用方法

tp框架中s函式使用步驟 初始化 type為快取方式 prefix為快取字首標示,也就是名字 expire為生存週期 我這裡設定快取方式為xcache,名字ticket,週期7100秒 cache s array type xcache prefix ticket expire 7100 設定該快取...

TP框架中命名空間

3.2版本全面採用命名空間方式定義和載入類庫檔案,有效的解決多個模組之間的衝突問題,並且實現了更加高效的類庫自動載入機制。命名空間的概念必須了解,否則會成為3.2版本開發的重大障礙。如果不清楚什麼是命名空間,可以參考php手冊 php命名空間 由於新版完全採用了命名空間的特性,因此只需要給類庫正確定...

tp框架中的命名空間

首先是我對命名空間的理解,命名空間相當於乙個空間,拿班級做比方,不同的班級就是不同的空間,每個班級都有叫小明的同學,但是不會因為有兩個小明而產生矛盾。這就是命名空間的作用 同乙個請求裡面,相同函式,類名,常亮不能出現多次 function chat echo demo changliang 訪問元素...