在Zend Framework中,大部分的時間來獲得PARAM,我會用Zend Framework:我可以獲取GET參數嗎?
// from controller
$this->getRequest()->getParam('key');
,但如何才能得到先手PARAMS使用'Zend的方法是什麼?或者我只使用$_GET
?有沒有VS
$_GET['key'];
在Zend Framework中,大部分的時間來獲得PARAM,我會用Zend Framework:我可以獲取GET參數嗎?
// from controller
$this->getRequest()->getParam('key');
,但如何才能得到先手PARAMS使用'Zend的方法是什麼?或者我只使用$_GET
?有沒有VS
$_GET['key'];
使用getQuery()
:
$this->_request->getQuery('key');
其他方法可包括
getParam()
檢查用戶PARAMS第一,然後$ _GET,然後_POST $,返回第一匹配找到或空。
儘量避免直接訪問superglobals。
$this->getRequest()->getParam('key');
之間的任何差別的主要區別是,
$_GET['key'];
是對環境的依賴。它要求超全球可用幷包含該名稱的關鍵字。這也只是一個簡單的數組訪問,而
$this->getRequest()->getParam('key');
是一個API方法調用。訪問請求被抽象化。不依賴於實際的環境。 Request對象可能是一個模擬。無論是$_GET
還是$_POST
,getParam
方法將始終返回一個值。
將請求放在請求之上會更好,因爲它允許更多的解耦,更少的依賴關係,從而使您的應用程序更易於測試和維護。
學習Zend 2's in depth data binding documentation後,我發現最好通過自動訪問Params plugin從路徑訪問參數。利用這個插件,你可以從控制器中獲得如下所示的參數。
$this->params('key');
這適用於ZF2
$this->params()->fromQuery('key', 1); // second argument is optional default paramter
我大多隻是用'$ _GET','$這個 - > Request()方法 - > getParams()方法'我更經常用得到變量出來的路由 – Hannes 2010-09-30 13:21:03
在你的控制器類中,你可以使用'$ this - > _ getParam('key')'而不是'$ this-> getRequest() - > getParam('key')' - 它有點短。 – 2010-09-30 13:55:12