[FEATURE] Optimised route matching, added optional parameters.

- Optimised route matching. This should be way more officient and also
  seems to fix issues with getting the current route using the getRoute class.

- Added support for optional routes, for example: {id?}.

- Updated documentation to reflect new changes.
This commit is contained in:
Simon Sessingø
2015-11-21 19:31:06 +01:00
parent b930c06683
commit 3b4954821a
4 changed files with 94 additions and 93 deletions
+8 -6
View File
@@ -28,12 +28,12 @@ Add the latest version pf Simple PHP Router to your ```composer.json```
- Namespaces.
- Route prefixes.
- CSRF protection.
- Optional parameters
### Features currently "in-the-works"
- Global Constraints
- Sub-Domain Routing
- Optional parameters
- Sub-domain routing
## Initialising the router
@@ -74,8 +74,10 @@ SimpleRouter::group(['prefix' => 'v1', 'middleware' => '\MyWebsite\Middleware\So
SimpleRouter::group(['prefix' => 'services'], function() {
SimpleRouter::get('/answers/{id}', 'ControllerAnswers@show')
->where(['id' => '[0-9]+');
SimpleRouter::get('/answers/{id}', 'ControllerAnswers@show')->where(['id' => '[0-9]+');
// Optional parameter
SimpleRouter::get('/answers/{id?}', 'ControllerAnswers@show');
/**
* This example will route url when matching the regular expression to the method.
@@ -83,7 +85,7 @@ SimpleRouter::group(['prefix' => 'v1', 'middleware' => '\MyWebsite\Middleware\So
*/
SimpleRouter::all('/ajax', 'ControllerAjax@process')->match('ajax\\/([A-Za-z0-9\\/]+)');
// Resetful resource
// Restful resource
SimpleRouter::resource('/rest', 'ControllerRessource');
// Load the entire controller (where url matches method names - getIndex(), postIndex() etc)
@@ -251,7 +253,7 @@ The router can be easily extended to customize your needs.
## The MIT License (MIT)
Copyright (c) 2015 Simon Sessing / simple-php-router
Copyright (c) 2015 Simon Sessingø / simple-php-router
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal