appbox = $appbox; $this->controller = $controller; } public function resolve(Request $request, $routeName, array $routeParameters) { $parameters = array_intersect_key($routeParameters, [ 'token' => null, ]); list ($sbas_id, $record_id, $subdefName) = $this->controller->validateToken($parameters['token']); $databox = $this->appbox->get_databox($sbas_id); $record = $databox->get_record($record_id); $subdef = $record->get_subdef($subdefName); return new MediaInformation($subdef, $request, $routeName, $routeParameters); } }