I\'m looking for a very lightweight routing framework (to go with php-skel).
The first thing I\'d like to investigate is specifying rewrite rules in a php file (\"not fo
PHP can't rewrite URLs the way mod_rewrite can, it can only redirect to other pages, which'd basically double the number of hits on your server (1 hit on php script, 2nd hit on redirect target).
However, you can have the PHP script dynamically load up the "redirect" pages' contents:
switch($_GET['page']) {
case 1:
include('page1.php');
break;
case 2:
include('page2.php');
break;
default:
include('page1.php');
}
this'd be pretty much transparent to the user, and you get basically the same effect as mod_rewrite. With appropriate query and path_info parameters, you can duplicate a mod_write "pretty" url fairly well.
PHP has a parse url function that could be easily used to route. You can then call explode() on the path portion that is returned to get an array of the url components.
The php way:
http://example.com/index.php/controller/action/variables
$routing = explode("/" ,$_SERVER['PATH_INFO']);
$controller = $routing[1];
$action = $routing[2];
$variables = $routing[3];