/** * @param ReflectionParameter $reflectionParam * @param RequestContext $requestContext * @return mixed */ private function getConstructorParamValue(ReflectionParameter $reflectionParam, $requestContext) { $paramName = $reflectionParam->getName(); if ($requestContext->isInjected($paramName)) { return $requestContext->getInjectedValue($paramName); } if ($reflectionParam->isDefaultValueAvailable()) { return $reflectionParam->getDefaultValue(); } return null; }
/** * @param RequestContext $requestContext * @param InterceptorStack $stack * @return Result */ public function intercept(RequestContext $requestContext, InterceptorStack $stack) { $annotations = Annotations::ofClass($requestContext->controllerMethod->getDeclaringClass(), PublicAccess::class); $isPublic = count($annotations) > 0; if ($isPublic) { return $stack->next(); } if (key_exists('loggedInUser', $_SESSION)) { $requestContext->inject('loggedInUser', $_SESSION['loggedInUser']); return $stack->next(); } return Results::http('Unauthorized', 401); }