在 Bootstrap ZF2 上访问查询参数
access query params onBootstrap ZF2
我正在休息 api 和 accessToken onBootstrp 以便可以验证和 return 如果未通过验证和授权,如果找到则获取用户 ID 并设置为会话,以便它通过 http 请求可用。
我的 api 电话是这样的:
/todos/5?accessToken=75a65839e7041da05a4257e441d778af
我这样试过
$eventManager->attach('route', function(MvcEvent $mvcEvent) {
$params = $mvcEvent->getRouteMatch()->getParams();
print_r($params);
});
我得到的 id 是 5 但没有得到 accessToken
params from $mvcEvent->getRouteMatch()->getParams();
为您提供路由数组中声明的所有参数(来自配置)。
url 部分的格式:accessToken=75a65839e7041da05a4257e441d778af
不属于此路由的配置,而是由另一部分提供的。
这就是为什么你的 print_r 没有显示这个小东西。
如何在 Module
onBootstrap()
函数中检索请求参数:
public function onBootstrap(MvcEvent $event)
{
$application = $event->getApplication();
$application->getEventManager()->attach('route', function(MvcEvent $event) {
$request = $event->getRequest();
$routeMatch = $event->getRouteMatch();
// Route params - $routeParams is an array
$routeParams = $routeMatch->getParams();
// Retrieveing Query and POST params is only possible if the request is an instance of \Zend\Http\Request
if ($request instanceof \Zend\Http\Request) {
// Query params - $queryParams is an instance of \Zend\Stdlib\Parameters
$queryParams = $request->getQuery();
// POST params - $postParams is an instance of \Zend\Stdlib\Parameters
$postParams = $request->getPost();
print_r($queryParams);
print_r($postParams);
}
print_r($routeParams);
});
}
我正在休息 api 和 accessToken onBootstrp 以便可以验证和 return 如果未通过验证和授权,如果找到则获取用户 ID 并设置为会话,以便它通过 http 请求可用。 我的 api 电话是这样的:
/todos/5?accessToken=75a65839e7041da05a4257e441d778af
我这样试过
$eventManager->attach('route', function(MvcEvent $mvcEvent) {
$params = $mvcEvent->getRouteMatch()->getParams();
print_r($params);
});
我得到的 id 是 5 但没有得到 accessToken
params from $mvcEvent->getRouteMatch()->getParams();
为您提供路由数组中声明的所有参数(来自配置)。
url 部分的格式:accessToken=75a65839e7041da05a4257e441d778af
不属于此路由的配置,而是由另一部分提供的。
这就是为什么你的 print_r 没有显示这个小东西。
如何在 Module
onBootstrap()
函数中检索请求参数:
public function onBootstrap(MvcEvent $event)
{
$application = $event->getApplication();
$application->getEventManager()->attach('route', function(MvcEvent $event) {
$request = $event->getRequest();
$routeMatch = $event->getRouteMatch();
// Route params - $routeParams is an array
$routeParams = $routeMatch->getParams();
// Retrieveing Query and POST params is only possible if the request is an instance of \Zend\Http\Request
if ($request instanceof \Zend\Http\Request) {
// Query params - $queryParams is an instance of \Zend\Stdlib\Parameters
$queryParams = $request->getQuery();
// POST params - $postParams is an instance of \Zend\Stdlib\Parameters
$postParams = $request->getPost();
print_r($queryParams);
print_r($postParams);
}
print_r($routeParams);
});
}