/** * Check the format of the named route * @param $namedRoute * @throws DrestException */ protected function checkNamedRoute($namedRoute) { if (substr_count($namedRoute, '::') !== 1) { throw DrestException::invalidNamedRouteSyntax(); } if (sizeof(explode('::', $namedRoute)) !== 2) { throw DrestException::invalidNamedRouteSyntax(); } }
/** * Get a route based on Entity::route_name. eg Entities\User::get_users * Syntax checking is performed * @param string $name * @param array $params * @throws DrestException on invalid syntax or unmatched named route * @return RouteMetaData $route */ protected function getNamedRoute($name, array $params = array()) { if (substr_count($name, '::') !== 1) { throw DrestException::invalidNamedRouteSyntax(); } $parts = explode('::', $name); // Allow exception to bubble up $classMetaData = $this->getClassMetadata($parts[0]); if (($route = $classMetaData->getRoutesMetaData($parts[1])) === false) { throw DrestException::unableToFindRouteByName($parts[1], $classMetaData->getClassName()); } $route->setRouteParams($params); return $route; }