From 8c35ad1ecc4bf0a630630deb97b0ec507ece8506 Mon Sep 17 00:00:00 2001 From: Danny van Kooten Date: Mon, 30 Jul 2012 11:19:19 +0200 Subject: [PATCH] More examples. --- README.md | 2 +- example.php | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 0fa26ce..87ac40b 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ A simple Rails inspired PHP router class. $router->map('/', 'users#index'); // or somewhat more complicated - $router->map('/users/:id/edit/', array('controller' => 'SomeController', 'action' => 'someAction'), array('methods' => 'GET,PUT', 'name' => 'users_edit')); + $router->map('/users/:id/edit/', array('controller' => 'SomeController', 'action' => 'someAction'), array('methods' => 'GET,PUT', 'name' => 'users_edit', 'filters' => array('id' => '(\d+)'))); // You can even specify closures as the Route's target $router->map('/hello/:name', function($name) { echo "Hello $name."; }); diff --git a/example.php b/example.php index 1caad1c..6e8f71e 100644 --- a/example.php +++ b/example.php @@ -3,22 +3,27 @@ require 'Router.php'; require 'Route.php'; $router = new Router(); + $router->setBasePath('/PHP-Router'); $router->map('/', 'someController:indexAction', array('methods' => 'GET')); -$router->map('/:slug', array('myparam' => 'myvalue'), array('name' => 'my_route_name')); -$router->map('/users/:id/edit/', 'users#edit', array('methods' => 'GET', 'name' => 'users_edit')); -$router->map('/contact/',array('controller' => 'someController', 'action' => 'contactAction'), array('name' => 'contact')); $router->map('/users/','users#create', array('methods' => 'POST', 'name' => 'users_create')); -$router->map('/user.list/','users#list', array('methods' => 'GET', 'name' => 'users_list')); -$router->map('/path-with-hyphens', 'some#target'); -$router->map('/site-section/:path/','some#target',array( 'filters' => array( 'path' => '(.*)') ) ); +$router->map('/users/:id/edit/', 'users#edit', array('methods' => 'GET', 'name' => 'users_edit', 'filters' => array('id' => '(\d+)'))); +$router->map('/contact/',array('controller' => 'someController', 'action' => 'contactAction'), array('name' => 'contact')); + +$router->map('/blog/:slug', array('c' => 'BlogController', 'a' => 'showAction')); + +// capture rest of URL in "path" parameter (including forward slashes) +$router->map('/site-section/:path','some#target',array( 'filters' => array( 'path' => '(.*)') ) ); $route = $router->matchCurrentRequest(); ?>

Current URL & HTTP method would route to:

+ Target:
getTarget()); ?>
+ + Parameters:
getParameters()); ?>
No route matched.
-- 2.11.0