Jie*_*eng 11 php zend-framework
在Zend Framework中,大部分时间都可以获得一个参数,我将使用
// from controller
$this->getRequest()->getParam('key');
Run Code Online (Sandbox Code Playgroud)
但是我如何使用'Zend'方式获得GET参数?或者我只是用$_GET?两者之间有什么区别吗?
$this->getRequest()->getParam('key');
Run Code Online (Sandbox Code Playgroud)
VS
$_GET['key'];
Run Code Online (Sandbox Code Playgroud)
Rya*_*ard 34
用途getQuery():
$this->_request->getQuery('key');
Run Code Online (Sandbox Code Playgroud)
其他方法包括
getParam() 首先检查用户参数,然后检查$ _GET,然后检查$ _POST,返回找到的第一个匹配项或null.
尽量避免直接访问超级球.
Gor*_*don 13
主要区别在于
$_GET['key'];
Run Code Online (Sandbox Code Playgroud)
是对环境的依赖.它要求超全局可用并包含该名称的密钥.它也只是一个简单的数组访问
$this->getRequest()->getParam('key');
Run Code Online (Sandbox Code Playgroud)
是一个API方法调用.对请求的访问是抽象的.不依赖于实际环境.Request对象可以是mock.getParam无论是否来自$_GET或,该方法都将返回一个值$_POST.
在请求之上放置抽象是更好的,因为它允许更多的解耦,更少的依赖性,因此使您的应用程序更容易测试和维护.