pejman / router
v1.0.0
2018-09-28 08:04 UTC
Requires
- php: ^5.3.3 || ^7.0
Requires (Dev)
- phpunit/phpunit: ^6.2
This package is auto-updated.
Last update: 2024-12-28 23:37:37 UTC
README
simple php router dynamic routing with elseRoute
Usage
use Pejman\Router as Router; function getPath() { $appDir = str_replace( "webroot/index.php", "", $_SERVER['PHP_SELF'] ); $reqUri = explode("?", $_SERVER['REQUEST_URI'])[0] ; return preg_replace( '#^'.$appDir.'#', "", $reqUri ); } Router::setPath( getPath() ); Router::route('admin/{controller?}/{action?}/{id?}', function( $id = 0 ) { echo "in admin"; })->where( ['controller' => '[a-zA-Z]+', 'action' => '[a-zA-Z_]+', 'id' => '[a-zA-Z_0-9]+'] )->setExtension( [ 'html' ] ) ->elseRoute('{controller?}/{action?}/{id?}', function() { echo "in user"; })->where( ['controller' => '[a-zA-Z]+', 'action' => '[a-zA-Z_]+', 'id' => '[a-zA-Z_0-9]+'] )->setExtension( [ 'html' ] ) ->elseRoute( '{:all}', function( $p ) { echo "Another request"; }); Router::dispatch(function( $status ) { echo "\nstatus is ".$status; });