как получить доступ к параметрам из URL-адреса в cakephp 3

В поваренной книге cakephp 3. Для создания URL-адреса используется

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

который будет выводиться как

/posts/view/foo:bar

Как получить доступ к foo:bar в действии и сохранить в переменной $foo?


person Anuj TBE    schedule 04.08.2016    source источник
comment
Вы уверены, что используете cake3? торт 3 вернет /posts/view/?foo=bar. Похоже на приложение cake2   -  person arilia    schedule 04.08.2016
comment
@arilia проверьте этот http://book.cakephp.org/3.0/en/views/helpers/url.html#generating-urls   -  person Anuj TBE    schedule 04.08.2016
comment
Я предполагаю, что это ошибка в документации или, может быть, недавно ее изменили. Вы пробовали свой код? Я только что попробовал ваш точный код в приложении cake3.2.13, и он дает /posts/view/?foo=bar, как и ожидалось. В любом случае комментарий @JacekBBudzyñski правильный   -  person arilia    schedule 04.08.2016


Ответы (3)



Или в одну строку, чтобы получить все параметры в виде массива:

$params = $this->request->getQueryParams();
person gdm    schedule 01.02.2020

Версия CakePHP 3.* может использовать request Query :

$this->request->getQuery('utm_source')
person Irshad Khan    schedule 07.12.2020