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

CakePHP 3 : parameter array key from url

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

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

现在我必须访问 para4

如何访问 para4

Edit 2 : output of 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
]

在你的控制器(或处理这个请求的任何地方),做 debug($this->request->data) or debug($this->request->query) or debug($this->request->params).

我不记得其中哪一个会给你你想要的参数。如果其中 none 向您展示了您的请求结构,这将使您了解如何访问您的参数,请执行 debug($this->request)

调试时您可以看到如何访问这些参数。它们应该是一个参数数组,因此您应该能够很容易地访问它们。相反,如果它们显示为一个由“/”分隔的变量,您可以使用 php 的 explode 函数将它们全部添加到一个数组中,例如:

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