private function init() { //get user requested route if (isset($_GET['node'])) { //define route without parameters (helps with showing base URI request) $route = $_GET['node']; self::$route = $route; //break requested route into chunks in array $route_chunks = explode("/", $route); //define controller $controller = $route_chunks[0]; self::$controller = $controller; //define controller directory $controller_dir = CONTROLLER_DIR . $controller; self::$controller_dir = $controller_dir; //define format if (!empty($route_chunks[1])) { $format = $route_chunks[1]; self::$format = $format; } //define if admin option has been requested if (!empty($route_chunks[2])) { $admin = $route_chunks[2]; self::$admin = $admin; } //define parameters - get full url etc and extract all strings after &.. global $settings; $request_uri = $settings['request_uri']; //break requested route into chunks in array $route_params = explode("&", $request_uri); //remove first value from array & return $route_params as just parameters $params_shift = array_shift($route_params); //update $params array foreach ($route_params as $val) { $param_chunks = explode("=", $val); $params[$param_chunks[0]] = $param_chunks[1]; } self::$params = $params; } }