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

Anu*_*TBE 1 cakephp cakephp-3.2

在cakephp 3的烹饪书中.用于构建url

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

将输出为

/posts/view/foo:bar
Run Code Online (Sandbox Code Playgroud)

如何访问foo:barin in action并保存在变量中$foo

ari*_*lia 6

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

如果你使用这个代码

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

你会得到这样的网址

/posts/view/?foo=bar
Run Code Online (Sandbox Code Playgroud)

这里的手册解释了如何访问GET参数

你可以做

$this->request->query('foo');
Run Code Online (Sandbox Code Playgroud)

要么

 $this->request->query['foo'];
Run Code Online (Sandbox Code Playgroud)

第一个是null安全,这意味着如果foo没有设置' '参数,你只需得到null而不是错误

编辑

在3.4.0之后,新语法是

$this->request->getQuery('foo');
Run Code Online (Sandbox Code Playgroud)