function setUp() { $this->empty = new EmptyObject($this); $this->renderOutput = null; Router::resetRoutes(); Router::addRoutes(array("security/login/password" => "login.php", "security/login/:key" => "login-:key.php", "security/register/:key" => "register-:key.php?argument=:key", "security/multi/:key1/:key2" => "register-:key1-:key2.php?argument=:key1&argument2=:key2", "api/v1/currencies" => $this->empty, "/api/v1/currenciesAbsolute" => $this->empty, "api/v1/currency/:code" => $this->empty, "/api/v2/currencies" => "currencies2.php", "api/v3/currencies" => "currencies3.php", "api/v4/currencies[.json]" => "currencies4.php", "api/v5/:key[.json]" => "currencies5.php?argument=:key", "help/:key" => "../pages/kb.php?q=:key")); }
function testWildcardCheck() { Router::resetRoutes(); Router::addRoutes(array("foo" => "foo.php")); Router::addRoutes(array(":anything" => "bar.php?key=:anything")); try { // because things are added in reverse order, this rule can never fire due to // the wildcard above Router::addRoutes(array("ignored" => "ignored.php")); $this->fail("Should have thrown an exception"); } catch (\Openclerk\RouterException $e) { // expected } }
<?php /** * Defines routes. */ // load up API routes foreach (DiscoveredComponents\Apis::getAllInstances() as $uri => $handler) { \Openclerk\Router::addRoutes(array($handler->getEndpoint() => $handler)); } \Openclerk\Router::addRoutes(array("admin/:key" => "../pages/admin_:key.php", "help/:key" => "../pages/kb.php?q=:key", ":anything" => "../pages/:anything.php"));
<?php require __DIR__ . "/../vendor/autoload.php"; require __DIR__ . "/functions.php"; // set up config Openclerk\Config::merge(array("site_name" => "genealogy", "absolute_url" => is_localhost() ? "http://localhost/genealogy/" : "http://example.com/", "display_errors" => is_localhost())); // set up routes \Openclerk\Router::addRoutes(array(":page" => "pages/:page.php")); // set up pages \Pages\PageRenderer::addTemplatesLocation(__DIR__ . "/../site/templates"); \Pages\PageRenderer::addStylesheet(\Openclerk\Router::urlFor("css/default.css")); \Pages\PageRenderer::addJavascript("https://code.jquery.com/jquery-2.1.1.min.js"); \Pages\PageRenderer::addJavascript(\Openclerk\Router::urlFor("js/default.js")); require __DIR__ . "/tree.php";