Как получить доступ к параметрам из URL в CakePHP 3
В кулинарной книге CakePHP 3. Это дано для создания URL с помощью
echo $this->Url->build([
"controller" => "Posts",
"action" => "view",
"foo" => "bar"
]);
который будет выводить как
/posts/view/foo:bar
Как получить доступ к foo:bar
в действии и сохранить в переменной $foo
?
3 ответа
Решение
В кулинарной книге есть ошибка, поэтому я открыл этот билет
если вы используете этот код
echo $this->Url->build([
"controller" => "Posts",
"action" => "view",
"foo" => "bar"
]);
вы получите URL, как это
/posts/view/?foo=bar
руководство объясняет, как получить доступ к параметрам GET
ты можешь сделать
$this->request->query('foo');
или же
$this->request->query['foo'];
первый является нулевым, это означает, что если foo
параметр не установлен, вы просто получите null
и не ошибка
редактировать
после 3.4.0 новый синтаксис
$this->request->getQuery('foo');
Версия CakePHP 3.* может использовать request Query :
$this->request->getQuery('utm_source')
Или в одной строке, чтобы получить все параметры в виде массива:
$params = $this->request->getQueryParams();