CakePHP 3:来自url的参数数组键

时间:2016-06-25 12:20:31

标签: cakephp cakephp-3.x

我在url中传递了多个参数,如

http://website.com/controller/action/para1/para2/para3/para4/para5

现在我必须访问para4

我如何访问para4

  

编辑2:debug($this->request->params)

的输出
[
    'plugin' => null,
    'controller' => 'ServiceRequests',
    'action' => 'checkout',
    '_ext' => null,
    'pass' => [
        (int) 0 => '7e441d08-fdb2-4f86-9a36-d15c61a8a4f0',
        (int) 1 => 'b95c0ca1-7782-4621-ad37-cccf697c777c',
        (int) 2 => '3df2d1c5-18c6-4c4b-a3bf-c763ce1b41c7',
        (int) 3 => 'ac1f0acd-b7d2-4d61-b37d-4990e4774392',
        (int) 4 => '1',
        (int) 5 => '338ae9f9-0973-4943-b6e1-c12a7713af89'
    ],
    'isAjax' => false
]

1 个答案:

答案 0 :(得分:1)

在您的控制器(或处理此请求的任何地方),执行  debug($this->request->data) or debug($this->request->query) or debug($this->request->params)

我不记得哪一个会给你你想要的参数。如果这些都没有显示您的请求结构,这将使您了解如何访问您的参数,请debug($this->request)

调试时,您可以看到如何访问这些参数。它们应该是一个参数数组,因此您应该能够非常轻松地访问它们。如果它们显示为由'/'分隔的一个变量,则可以使用php的explode函数将它们全部添加到数组中,如:

$data = explode('/', $this->request->data);