Recommend this page to a friend! |
![]() ![]() |
Info | ![]() |
![]() |
![]() ![]() |
Reputation | Support forum | Blog | Links |
Ratings | Unique User Downloads | Download Rankings | ||||
Not yet rated by the users | Total: 36 | All time: 10,778 This week: 129![]() |
Version | License | PHP version | Categories | |||
quick-route 1.0 | The PHP License | 7.4 | HTTP, Design Patterns, PHP 7 |
Description | Author | |||||||||||||||||||||||
This package can route HTTP requests to functions like Laravel. |
|
An elegant http router built on top of FastRoute to provide more easy of use.
Due to object-sharing between routes introduced in version 1, some errors cannot be fixed. <br/> Here is version 2, which is object-sharing free.
composer require ahmard/quick-route
Simple example
use QuickRoute\Route;
use QuickRoute\Route\Collector;
use QuickRoute\Route\Dispatcher;
require('vendor/autoload.php');
Route::get('/', function () {
echo 'Hello world';
});
$method = $_SERVER['REQUEST_METHOD'];
$path = $_SERVER['REQUEST_URI'];
if (false !== $pos = strpos($path, '?')) {
$uri = substr($path, 0, $pos);
}
$path = rawurldecode($path);
$collector = Collector::create()->collect()->register();
$dispatcher = Dispatcher::create($collector)->dispatch($method, $path);
switch (true) {
case $dispatcher->isFound():
$routeData = $dispatcher->getRoute();
$routeData'controller');
break;
case $dispatcher->isNotFound():
echo "Page not found";
break;
case $dispatcher->isMethodNotAllowed():
echo "Request method not allowed";
break;
}
Controller-like example
use QuickRoute\Route;
Route::get('/home', 'MainController@home');
Advance usage
use QuickRoute\Route;
Route::prefix('user')->name('user.')
->namespace('User')
->middleware('UserMiddleware')
->group(function (){
Route::get('profile', 'UserController@profile');
Route::put('update', 'UserController@update');
});
Routes as configuration
//routes.php
use QuickRoute\Route;
Route::get('/', 'MainController@index');
Route::get('/help', 'MainController@help');
//server.php
use QuickRoute\Route\Collector;
$collector = Collector::create()
->collectFile('routes.php')
->register();
$routes = $collector->getCollectedRoutes();
QuickRoute is _MIT_ licenced.
An elegant http router built on top of FastRoute to provide more easy of use.
Due to object-sharing between routes introduced in version 1, some errors cannot be fixed. <br/> Here is version 2, which is object-sharing free.
composer require ahmard/quick-route
Simple example
use QuickRoute\Route;
use QuickRoute\Route\Collector;
use QuickRoute\Route\Dispatcher;
require('vendor/autoload.php');
Route::get('/', function () {
echo 'Hello world';
});
$method = $_SERVER['REQUEST_METHOD'];
$path = $_SERVER['REQUEST_URI'];
if (false !== $pos = strpos($path, '?')) {
$uri = substr($path, 0, $pos);
}
$path = rawurldecode($path);
$collector = Collector::create()->collect()->register();
$dispatcher = Dispatcher::create($collector)->dispatch($method, $path);
switch (true) {
case $dispatcher->isFound():
$routeData = $dispatcher->getRoute();
$routeData'controller');
break;
case $dispatcher->isNotFound():
echo "Page not found";
break;
case $dispatcher->isMethodNotAllowed():
echo "Request method not allowed";
break;
}
Controller-like example
use QuickRoute\Route;
Route::get('/home', 'MainController@home');
Advance usage
use QuickRoute\Route;
Route::prefix('user')->name('user.')
->namespace('User')
->middleware('UserMiddleware')
->group(function (){
Route::get('profile', 'UserController@profile');
Route::put('update', 'UserController@update');
});
Routes as configuration
//routes.php
use QuickRoute\Route;
Route::get('/', 'MainController@index');
Route::get('/help', 'MainController@help');
//server.php
use QuickRoute\Route\Collector;
$collector = Collector::create()
->collectFile('routes.php')
->register();
$routes = $collector->getCollectedRoutes();
QuickRoute is _MIT_ licenced.
![]() |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Doc. | Documentation |
![]() |
/ | src |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() |
Class | Class source | ||
![]() |
Class | Class source |
![]() |
/ | src | / | Route |
File | Role | Description |
---|---|---|
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.