阅读(1798)
赞(10)
Laravel 8 URL Defaults & Middleware Priority
2021-06-25 09:32:00 更新
Setting URL default values can interfere with Laravel’s handling of implicit model bindings. Therefore, you should prioritize your middleware that set URL defaults to be executed before Laravel’s own SubstituteBindings
middleware. You can
accomplish this by making sure your middleware occurs before the SubstituteBindings
middleware within the $middlewarePriority
property of your application’s HTTP kernel.
The $middlewarePriority
property is defined in the base Illuminate\Foundation\Http\Kernel
class. You may copy its definition from that class and overwrite it in your application’s HTTP kernel in order to modify it:
/**
* The priority-sorted list of middleware.
*
* This forces non-global middleware to always be in the given order.
*
* @var array
*/
protected $middlewarePriority = [
// ...
\App\Http\Middleware\SetDefaultLocaleForUrls::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
// ...
];