ahmmmmad11 / inhanced-routing

替代 Laravel 路由包

1.0.0 2023-04-01 15:14 UTC

This package is not auto-updated.

Last update: 2024-09-28 12:46:38 UTC


README

扩展 Laravel 路由包以增加更多功能,对于这个版本,我们提供了允许多个显式路由绑定字段的能力。

安装

composer required ahmmmmad11/enhanced-routing

现在打开 config/app.php 并将服务提供者添加到 providers 数组中。

'providers' => [
/*
 * Package Service Providers...
 */
 
 \Ahmmmmad11\Routing\RoutingServiceProvider::class,
]

然后转到 app/Http/Kernal 并添加以下代码

//import Router class and Application Interface
use Ahmmmmad11\Routing\Router;
use Illuminate\Contracts\Foundation\Application;

// add this constructer inside Kernal class
public function __construct(Application $app, Router $router)
{
    $this->app = $app;
    $this->router = $router;

    $this->syncMiddlewareToRouter();
}

使用

如果您已成功安装此包,现在您可以绑定多个字段到路由

Route::get('users/{user:email,username,id}', function(User $user) {
    return $user;
});

现在您可以通过多种方式访问此路由,例如

// http://127.0.0.1:8000/users/1
or
// http://127.0.0.1:8000/users/firstuser@example.com
or
// http://127.0.0.1:8000/users/firstuser

警告
请始终将数字字段(intfloat 等)作为最后一个选项放置,例如,使用 {user:email,username,id} 而不是 {user:id,email,username}