forked from bcit-ci/CodeIgniter
-
Notifications
You must be signed in to change notification settings - Fork 26
DrF Reverse Routing
World Wide Web Server edited this page Jul 4, 2012
·
29 revisions
DrF Reverse Routing is an extension of the URL Helper that overrides the site_url function to provide a reverse lookup. If a custom route can be found that matches the given "standard CodeIgniter URI", a custom route URI will be created and returned. Otherwise, a standard site_url will be returned.
[h2]Overview[/h2]
- Translates a "standard CodeIgniter URI" into a custom route if possible. Standard, in this case, means 'controller/function/param1/param2/.../paramN'
- Fails gracefully, providing a standard site_url if no route can be found/translated
- Works automatically with all of URL Helper's functions
- Idea inspired by CakePHP's reverse routing
[h2]Download[/h2] File:DrF_Reverse_Routing.zip
[h2]Usage[/h2]
- place MY_url_helper.php in your system/application/helpers folder
- include the URL helper as you normally would [code]$this->load->helper( 'url' );[/code]
[h2]Example[/h2]
-
setup a Test Controller [code] <?php class Test extends MY_Controller{
function Test() { parent::MY_Controller(); }
function test( $param1 ){ echo 'You passed in: ' $param1; }
function redirect() { $this->load->helper( 'url' ); redirect( 'test/test/from_redirect' ) }
} ?> [/code]
- create a route for the test function [code] ... $route['foo/(:any)'] = 'test/test/$1' ... [/code]
- Go to http://www.example.com/test/redirect. Replace example.com with your server name
- You should be redirected to http://www.example.com/foo/from_redirect