public static function getPageConfiguration(array $url_array) { $url_array = count($url_array) ? $url_array : array('index'); $page_name = false; foreach (Map::$map as $page => $subparams) { if ($url_array[0] === $page) { $page_name = Map::getSubpageConfiguration($url_array, $subparams); } } if (!$page_name) { header('404 Not Found', 1, 404); return; } $config = PagesConfig::get($page_name); if (!count($config)) { throw new Exception('no configuration for route [' . $page_name . ']'); } return $config; }