OSDN Git Service

More examples.
authorDanny van Kooten <dannyvankooten@gmail.com>
Mon, 30 Jul 2012 09:19:19 +0000 (11:19 +0200)
committerDanny van Kooten <dannyvankooten@gmail.com>
Mon, 30 Jul 2012 09:19:19 +0000 (11:19 +0200)
README.md
example.php

index 0fa26ce..87ac40b 100644 (file)
--- 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."; });
index 1caad1c..6e8f71e 100644 (file)
@@ -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();
 
 ?><h3>Current URL & HTTP method would route to: </h3>
 <?php if($route) { ?>
+       <strong>Target:</strong>
        <pre><?php var_dump($route->getTarget()); ?></pre>
+
+       <strong>Parameters:</strong>
        <pre><?php var_dump($route->getParameters()); ?></pre>
 <?php } else { ?>
        <pre>No route matched.</pre>