如何在CakePHP 3中访问GET url的最后一部分

bnlyeluc  于 2022-11-11  发布在  PHP
关注(0)|答案(1)|浏览(141)

我的链接是这样建立的:

$this->Html->link(
    $this->Icon->fa('plus'),
    ['controller' => 'Questions', 'action' => 'add', $questionnaire->id],
    [
        'title' => 'Add'
    ]
);

这将在我的浏览器上创建所需的图标,其中包含以下链接:

<host>/questionnaire/questions/add/2

在“另一边”,通过使用例如

$this->request->getParam('action')

我可以正确地得到"add"作为一个值。
但是我怎么才能访问2,那么网址的最后一部分呢?
我试过了

$this->request->getQueryParams()

并返回一个空数组。

t40tm48m

t40tm48m1#

这取决于您连接的路线。如果存在具有为该值定义的路线元素的对应路线,例如

/questionnaire/questions/add/:id

那么您可以通过元素名getParam('id')获得值。
如果对应的路由没有该值的专用命名元素,而是*(通过fallbacks()连接的回退路由的默认值),则它将位于pass参数getParam('pass')(尾随值数组)中,并且您的值将位于索引0处。
另请参阅

*操作手册〉请求和响应对象〉请求参数
*操作手册〉路线〉路线元素
*操作手册〉路由〉传递的参数

相关问题