ThinkPHP 3.1快速入門:變數

來源:互聯網
上載者:User
關鍵字 變數 快速入門 ThinkPHP

本篇我們來學習如何在ThinkPHP中使用變數和對變數進行過濾。
在WebHTTP://www.aliyun.com/zixun/aggregation/17799.html">開發過程中,我們經常需要獲取系統變數或者使用者提交的資料,這些變數資料錯綜複雜, 而且一不小心就容易引起安全隱患,但是如果利用好ThinkPHP提供的變數獲取功能,就可以輕鬆的獲取和駕馭變數了。

獲取變數

首先,我們來談下如何獲取變數。
第一種方式:傳統獲取方式
你仍然可以在開發過程中使用傳統方式獲取各種系統變數,例如:

$id = $_GET['id']; 獲取get變數 $name = $_POST['name'];  獲取post變數 $value = $_SESSION['var']; 獲取session變數 $name = $_COOKIE['name']; 獲取cookie變數 $file =  $_SERVER['PHP_SELF']; 獲取server變數

不建議直接使用傳統方式獲取,因為沒有統一的安全處理機制,後期如果調整的話,改起來會比較麻煩。
第二種方式:使用Action類提供的動態方法
系統的Action類提供了對系統變數的增強獲取方法,包括對GET、POST、PUT、REQUEST、SESSION、COOKIE、SERVER和GLOBALS參數,除了獲取變數值外,還提供變數過濾和預設值支援,用法很簡單 ,只需要在Action中調用下面方法:

$id = $this->_get('id'); 獲取get變數 $name = $this->_post('name'); 獲取post變數 $value = $this->_session('var'); 獲取session變數 $name = $this->_cookie('name'); 獲取cookie變數 $file =  $this->_server('PHP_SELF'); 獲取server變數

調用格式為:
$this->方法名("變數名",["過濾方法"],["預設值"])
方法名可以支援:

方法名 含義 _get 獲取GET參數 _post 獲取POST參數 _param 自動判斷請求類型獲取GET、POST或者PUT參數 _request 獲取REQUEST參數 _put 獲取PUT參數 _session 獲取$_S ESSION參數 _cookie 獲取$_COOKIE參數 _server 獲取$_SERVER參數 _globals 獲取$GLOBALS參數

變數名:(必須)是要獲取的系統變數的名稱
過濾方法:(可選)可以用任何的內建函數或者自訂函數名,如果沒有指定的話,採用預設的htmlspecialchars函數進行安全過濾(由DEFAULT_FILTER 參數配置),參數就是前面方法名獲取到的值, 也就是說如果調用:

$this->_get("name");

最終調用的結果就是 htmlspecialchars($_GET["name"]),如果要改變過濾方法,可以使用:

$this->_get("name","strip_tags");


預設值:(可選)是要獲取的參數變數不存在的情況下設置的預設值,例如:

$this->_get("id","strip_tags",0);

如果$_GET["id"] 不存在的話,會返回0。

如果沒有設置任何預設值的話,系統預設返回Null。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.