public static function parseURL() { if (isset($_GET['deprecationDate'])) { self::$deprecationDate = $_GET['deprecationDate']; self::$root = "/api-" . self::$deprecationDate; unset($_GET['deprecationDate']); } else { self::$root = "/api"; } $_url = trim($_GET['_url'], " \\/\\\t\n\r\v"); if (!$_url) { PhlatMedia::write(self::getLinks()); } list(self::$resource, self::$id, self::$subresource) = explode("/", $_url); unset($_GET['_url']); if (self::$subresource == 'collection' and self::$id) { Error::http(404, "A generic 'collection' subresource for " . self::$resource . " #" . self::$id . " does not exist."); } if (!self::$subresource and !is_numeric(self::$id)) { self::$subresource = self::$id; } }
if (Router::$node->id != Router::$root->get('a/b')->id) { $pass = false; echo "Returned node is not the correct one\n"; } if ($not_default_language != Router::$language) { $pass = false; echo "Language does not match\n"; } // Print Router::print_r(); return $pass; }; $tests['Get parametrized'] = function () { $pass = true; // Prepare Router::$root = $root = build_basic_hierarchy(); $a = $root->get('a'); $e = $root->get('a/e'); $e->remove(); $a->append('{parameter}', $e); // Run $router = Router::setUrl("/a/my-parameter/f"); // Check if (0 != count(Router::$parts)) { $pass = false; echo "All parts must be consumed\n"; } if (1 != count(Router::$parameters)) { $pass = false; echo "Must be 1 parameter\n"; }