如何在CAKEPHP中访问GET请求?
如何在CAKEPHP中访问GET请求 如果我在url中传递一个变量如何在CAKEPHP中访问GET请求?,cakephp,cakephp-1.3,Cakephp,Cakephp 1.3,如何在CAKEPHP中访问GET请求 如果我在url中传递一个变量 http://samplesite.com/page?key1=value1&key2=value2 我应该使用$\u GET还是$this->params来获取控制器中的值? CAKEPHP的标准是什么 在Cake中执行此操作的标准方法是使用$this->params $value1 = $this->params['url']['key1']; $value2 = $this->params['url'
http://samplesite.com/page?key1=value1&key2=value2
我应该使用$\u GET还是$this->params来获取控制器中的值?
CAKEPHP的标准是什么 在Cake中执行此操作的标准方法是使用
$this->params
$value1 = $this->params['url']['key1'];
$value2 = $this->params['url']['key2'];
根据CakePHP的书,“$this->params最常用的用法是访问通过GET或POST操作传递给控制器的信息。”
请参阅CakePHP 2.0中的。,这似乎已经改变。根据文档,您可以访问
$this->request->query
或$this->request['url']
// url is /posts/index?page=1&sort=title
$this->request->query['page'];
// You can also access it via array access
$this->request['url']['page'];
现在我们有了CakePHP 3;您仍然可以在视图中使用
$this->request->query('search')
在CakePHP3.5+中,您可以使用
$this->request->getQuery('search')
您只能在获取URL参数时执行此操作
$this->request->pass; //Array of all parameters in URL
根据CakePHP文档 要从URL访问所有密钥,您必须使用
$data = $this->request->getQuery();
echo "<pre>";print_r($data ); die('MMS');
$data=$this->request->getQuery();
回声“;打印(数据);死亡(“MMS”);
输出
数组
(
[key1]=>值
[key2]=>值
...........
)
根据CakePHP 4.0.2
$this->request->getQuery()
将整个查询字符串作为数组提供给您
和用于特定查询
$this->request->getQuery('keywords')
谢谢你,伙计。。。我是否应该避免在cakephp中使用$\u GET?@cakephp.saint是的,我在Cake工作时通常不会直接访问$\u GET或$\u POST。我刚刚更新了我的答案,添加了手册的链接。谢谢。救援有时不在第一篇文章中,但在第二篇文章中:DOr甚至$this->request->query('page');而不是$this->request->query['page'];需要它吗:如果($this->request->Is('get')){$this->request->query['page'];}或者我可以只:$this->request->query['page'];
$data = $this->request->getQuery();
echo "<pre>";print_r($data ); die('MMS');
<pre>Array
(
[key1] => value
[key2] => value
...........
)