我正在处理rest api和accessToken onBootstrp,以便在未通过验证和授权的情况下验证并返回,如果找到则获取用户ID并设置为session,以便通过http请求可用。 我的api电话是这样的:
/待办事项/ 5?的accessToken = 75a65839e7041da05a4257e441d778af
我试过这个
$eventManager->attach('route', function(MvcEvent $mvcEvent) {
$params = $mvcEvent->getRouteMatch()->getParams();
print_r($params);
});
我的id为5,但没有得到accessToken
答案 0 :(得分:1)
$mvcEvent->getRouteMatch()->getParams();
的参数给出了你路线数组中声明的所有参数(来自配置)。
此网址部分的格式:accessToken=75a65839e7041da05a4257e441d778af
不属于这条路线的配置,但由另一部分给出。
这就是为什么你的print_r没有显示这个小小的。
答案 1 :(得分:1)
如何在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);
});
}