Может ли передать параметры моему промежуточному программному обеспечению через моего поставщика услуг RouteService, где я сопоставляю группы маршрутов?
В моем RouteServiceProvider. php
protected function mapAdminRoutes()
{
Route::prefix('api/admin')
->middleware('admin:admin')
->namespace($this->namespace)
->group(base_path('routes/admin.php'));
}
В моем Kernal. php
'admin' => [
'api',
'permission' => \App\Http\Middleware\VerifyPermission::class,
],
Промежуточное программное обеспечение
<?php
namespace App\Http\Middleware;
use App\Models\Permission;
use Closure;
class VerifyPermission
{
public function handle($request, Closure $next, $permission)
{
dd($permission);
}
}
Я подумал, что вы можете добавить параметр к своему промежуточному программному обеспечению таким способом
Route::group(['middleware' => 'permission:admin'], function () {}
Вы должны быть в состоянии сделать это в своем RouteServiceProvider также хорошо? Я не хочу использовать группы маршрутов в моих файлах маршрутов, поэтому api. php или admin. php
Итак, для подведения итогов я хочу внедрить параметры в мое промежуточное ПО, просто используя мой Kernal. php и мой RouteServiceProvider. php. Я сделал все эти хорошие файлы маршрутов, чтобы сгруппировать все мои маршруты, не используя фактические группы в тех файлах, которые создают грязный код. И теперь мне все еще нужно ввести параметры, подобные этому
Route::group(['middleware' => ['permission:admin']], function () {
Route::get('/test', 'TestController@test');
});
Я знаю, что вы можете использовать конструктор контроллера, чтобы сделать это, но это также не то, что я хочу. Это должно быть решено, просто используя Kernal. php и RouteServiceProvider, верно? Поскольку группы определены там, вы сможете указать, какую группу вы используете.