-
Add
mprincek18/route-priority
tocomposer.json
.composer require mprincek18/route-priority
2)Run composer update
to pull down the latest version of the package.
3)Now open up app/config/app.php
and add the service provider to your providers
array.
Mprince\RoutePriority\RoutePriorityServiceProvider::class,
4)Add the trait to App\Http\Kernel
use \Mprince\RoutePriority\RouterTrait;
Change routes priority:
Route::get('test', ['uses' => 'Controller@showAction'])->setPriority(100);
Default priority is 50
. Higher priority - values from 50 and above, lower priority - 49
and below.
Route::get('/test/{slug}', …);
Route::get('/test/hello', …);
In this example second route will not work. Add priority 0 to the first route will fix the error:
Route::get('/test/{slug}', …)->setPriority(0);
Route::get('/test/hello', …);
Second route now has higher priority.
You can put priority to groups:
Route::group(['prefix' => 'test-group', 'priority' => 10], function () {
Route::get('/test/hello', function () {
return 'First group';
});
});
Route::group(['prefix' => 'test-group', 'priority' => 20], function () {
Route::get('/test/hello', function () {
return 'Second group';
});
});
Second group has higher priority then First group. All routes in the group will has the same priority as the group.