如何从cakephp 3中的url访问参数

时间:2016-08-04 06:38:45

标签: cakephp cakephp-3.2

在cakephp的烹饪书中3.使用

建立URL
echo $this->Url->build([
    "controller" => "Posts",
    "action" => "view",
    "foo" => "bar"
]);

将输出为

/posts/view/foo:bar

如何访问foo:bar实际操作并保存在变量$foo中?

3 个答案:

答案 0 :(得分:6)

食谱中有错误,所以我打开了this

如果您使用此代码

echo $this->Url->build([
    "controller" => "Posts",
    "action" => "view",
    "foo" => "bar"
]);

你会得到这样的网址

/posts/view/?foo=bar

手册here说明了如何访问GET参数

你可以做到

$this->request->query('foo');

 $this->request->query['foo'];

第一个是null安全,这意味着如果未设置“foo”参数,则只需获取null而不是错误

修改

在3.4.0之后

,新语法是

$this->request->getQuery('foo');

答案 1 :(得分:0)

或一行获取所有参数作为数组:

$params = $this->request->getQueryParams();

答案 2 :(得分:0)

CakePHP 3. *版本可以使用请求查询:

$this->request->getQuery('utm_source')