gpt4 book ai didi

php - 在中间件中获取 laravel 当前路由组

转载 作者:可可西里 更新时间:2023-11-01 01:15:54 26 4
gpt4 key购买 nike

有没有办法在 Laravel 中间件中获取当前路由的父路由组?

public function handle($request, Closure $next, $guard = null)
{
// here I mean
}

最佳答案

您不能从路由中获取组,尤其是您可以将组嵌套在其他组中。

能够判断当前请求属于哪个组的最简单方法是向您的中间件添加一个参数 - 请在此处查看文档以获取更多详细信息:https://laravel.com/docs/5.2/middleware#middleware-parameters

首先,在您的handle() 方法中声明参数:

public function handle($request, Closure $next, $group = null)
{
// your logic here
}

然后,将中间件分配给组时,您可以将组名作为参数传递:

Route::group(['middleware' => 'yourmiddleware:groupname'], function () {
// your routes go here
});

然后在您的中间件中,您可以根据传递的组名执行不同的操作:

if ($group === 'groupname') {
// some custom logic here
}

如果您计划为不同的组执行的逻辑不同,您应该考虑实现多个中间件,而不是将组名作为参数传递只是为了保持责任分离。

关于php - 在中间件中获取 laravel 当前路由组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38869982/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com