ThinkPHP 控制器(三)

2021-07-25 22:18:15 字數 1808 閱讀 3184

$id=$_get['id'],

$name=$_post['name'],

$value=$_session['var'],

$name=$_cookie['name'],

$file=$_server['php_self'],

ps:沒有統一的安全處理機制,後期調整會比較麻煩

i(『變數型別.變數名』,['預設值'],['過濾方法'])

//獲取

$_get['id'];

echo

i('get.id');

//$_get['id']

沒有值,則預設

1echo

i('get.id'

, 1); //

過濾$_get['id']

echo

i('get.id',''

,'md5');

//獲取

$_get;

print_r(i(

'get.'

));

ps:其他幾個系統變數均採用以上方式,這裡不在贅述。

thinkphp

還提供了乙個自動識別各種系統變數型別的接受方法:

param。

//param

變數自動判斷變數型別

echo

i('param.id');

//param

可以省略

echo

i('id');

如果是

pathinfo

模式的

url,

param

也可以接收。

//param

獲取url

所有引數

print_r(i(

'param.0'

));

ps:取消和開啟

url

的'url_params_bind_type'

=>1

配置定義,在訪問這個

url

的時候結果有所不同:

關閉 url

傳參順序:

array ( [id] => 5 [type] => a )

開啟 url

傳參順序:

array ( [0] => id [1] => 5 [2] => type [3] => a )

//param

獲取指定引數值

echo

i('param.id'

);echo

i('param.type'

);預設情況下,

i()的預設過濾是:

htmlspecialchars

,過濾掉

html。

//過濾

html

,如果去掉了,則傳遞包含

html

的字串,將不過濾

'default_filter'

=>

'htmlspecialchars',

當然,如果不過濾,也可以在程式中過濾。

//設定過濾函式,會忽略配置檔案裡的設定

echo

i('get.id',''

,'htmlspecialchars');

如果系統設定了預設的過濾,本身某個函式又不想過濾,那麼可以這麼處理:

//設定遮蔽系統預設過濾

echo

i('get.id',''

,false

);//

第三引數為空字串均可

ThinkPHP控制器分級

注 請不要修改thinkphp慣例配置檔案,如果要覆蓋慣例配置的值,可在應用配置檔案中設定和慣例不符的配置項 慣例配置檔案路徑 thinkphp conf convention.php 在應用配置檔案config.php中修改一下內容即可實現控制器分級 例 在 home controller下建立資...

ThinkPHP 控制器(四)

thinkphp 提供了一組常量來判斷當前請求是否是 get post 等。通過判斷請求處理不同的業務邏輯。常量 含義 is get 判斷是否 get 提交請求 is post 判斷是否 post 提交請求 is put 判斷是否 put 提交請求 is delte 判斷是否 delete 提交請求...

think php 分層控制器

servername index blog index 輸出 index servername index blog add 輸出 add servername index blog edit id 5 輸出 edit 5 新版的控制器可以不需要繼承任何基類,當然,你可以定義乙個公共的控制器基礎類來...