<?php $router = new Bike\Router(); $router->addToken('non_static_1', '[a-z]+'); $router->addToken('non_static_2', '[a-z]+'); $router->add('user-defined-token', array('method' => 'GET, POST', 'route' => '/non_static_1/undefined/non_static_2')); $result = $router->match('GET', '/some/undefined/tokens');
<?php $router = new Bike\Router(); $router->add('article-with-slug', array('method' => 'GET, POST', 'route' => '/controller-action(/^slug)', 'defaults' => array('controller' => 'index', 'action' => 'index', 'format' => 'html'))); $result = $router->match('GET', '/news-add/some-article-title');
<?php $router = new Bike\Router(); $router->add('optional-controller-and-action-with-defaults', array('method' => 'GET, POST', 'route' => '/(controller(/action))', 'defaults' => array('controller' => 'index', 'action' => 'index'))); $result1 = $router->match('GET', '/news'); $result2 = $router->match('GET', '/');
<?php $router = new Bike\Router(); $router->add('static-and-dynamic', array('method' => 'GET, POST', 'route' => '/r/$subreddit/comments/#thread_id/$thread_slug/')); $result = $router->match('GET', '/r/php/comments/12/router/');
<?php $router = new Bike\Router(); $router->add('controller-and-action', array('method' => 'GET, POST', 'route' => '/$my_controller/:my_action')); $result = $router->match('GET', '/news/add');
<?php $router = new Bike\Router(); $router->add('query-string', array('method' => 'GET, POST', 'route' => '/(controller(/action))', 'defaults' => array('controller' => 'index', 'action' => 'index'))); $result = $router->match('GET', '/news/add?slug=some-slug&id=12');
<?php $routes = (include 'predefined_routes.php'); $router = new Bike\Router($routes); $result1 = $router->match('GET', '/news/add.xml/12/some-slug'); $result2 = $router->match('GET', '/news/add/12'); $result3 = $router->match('GET', '/news/add');
<?php $router = new Bike\Router(); $router->addToken('page', '[0-9]+'); $router->add('user-defined-token', array('method' => 'GET, POST', 'route' => '(/controller(/action(/page)))')); $result = $router->match('GET', '/news/view/12');
<?php $router = new Bike\Router(); $router->add('in-place-regex', array('method' => 'GET, POST', 'route' => '(/controller<[A-Z]{2}>(/action))')); $result1 = $router->match('GET', '/news/add'); $result2 = $router->match('GET', '/AB/add');