giuga/laravel-ordered-routes

为 web.php 中定义的路由设置顺序

v1.0.5 2019-02-20 22:34 UTC

This package is auto-updated.

Last update: 2024-09-15 03:55:14 UTC


README

为路由添加顺序

安装包

composer require giuga/laravel-ordered-routes

更改 bootstrap/app.php 中加载的默认应用程序

查找

$app = new \Illuminate\Foundation\Application(
    realpath(__DIR__.'/../')
);

替换为

$app = new \Giuga\Application(
    realpath(__DIR__.'/../')
);

更改 config/app.php 中的默认路由别名

查找

'aliases' => [
...
'Route' => Illuminate\Support\Facades\Route::class,
...

替换为

'aliases' => [
...
'Route' => Giuga\Routing\Facades\OrderRoute::class,
...

routes/web.php

使用此包,您可以根据需要定义路由的顺序。

在下面的示例中,{slug?} 也会捕获 home 路由,即使这不是我们的意图。通过定义顺序,如果请求的 URL 与预定义的路由(如 /home)匹配,并且 /home 的顺序编号不高于 {slug?} home,则将使用 home。

Route:get('{slug?}', function($slug){ return $slug; } )->name('named.slug')->order(999);
Route:get('/home'), function(){ return 'This is my Home'; })->name('home');