Я пытаюсь получить имена и значения параметров запроса динамически, но массив всегда пуст. Это маршрут получения:
$app->get('/get/profile/:id_user', function ($id_user) use ($app) { print_r($app->request()->params()); });
И вот как он называет это из браузера:
http://localhost/get/profile/9492
Это должно возвращать массив с id_user => 9492
но он пуст.
Любые идеи почему?
Примечание. Перед тем, как попробовать этот код, ознакомьтесь с примечаниями по обновлению. Заметка об обновлении – это мой первый комментарий в этом ответе.
Не удалось проверить его, но попробуйте следующее:
$app->get('/get/profile/:id_user', function ($id_user) use ($app) { $req = $app->request(); print_r($req->params()); });
Справочная документация: http://docs.slimframework.com/#Request-Method
Обновление: Хорошо, после некоторого копания вычислялось следующее, для params()
требуется параметр. Если вызывается без параметра, возникает уведомление. Проверка источника показала, что эта функция, вызываемая без параметра, возвращает значение null. См. Http/Request.php
line 199. Также по какой-то причине currying, похоже, не работает для извлечения параметров, поэтому вам нужно использовать параметр функции $id_user
который имеет ожидаемое значение.
Вы можете использовать следующее:
$app->get("/test.:format/:name",function() use ($app){ $router = $app->router(); print_r($router->getCurrentRoute()->getParams()); });
Также проблема конфигурации.
пытаться
try_files $uri $uri/ /index.php?$query_string;