Можно ли создать группы промежуточного программного обеспечения для каждого маршрута в slim3? Создаю маршрут, в файле middleware.php задаю список middlewares и получается все маршруты будут проходить через этот список, а мне это не нужно. И второй вопрос, как мне получить доступ к атрибутам в мидлваре, выводя $request->getAttribute('paramName'), я получаю NULL?






Вы говорите, что не хотите, чтобы все маршруты совпадали (я предполагаю, что это случай промежуточного программного обеспечения для всего приложения), но вы не уточняете, какое совпадение делать вы хотите.
Поэтому я не уверен, что именно вы подразумеваете под группа промежуточного программного обеспечения. Вы можете добавить промежуточное ПО к определенным маршрутам или группам маршрутов.
Пример добавления промежуточного ПО в группу маршрутов из документации:
$app->group('/utils', function () use ($app) {
$app->get('/date', function ($request, $response) {
return $response->getBody()->write(date('Y-m-d H:i:s'));
});
$app->get('/time', function ($request, $response) {
return $response->getBody()->write(time());
});
})->add(function ($request, $response, $next) {
$response->getBody()->write('It is now ');
$response = $next($request, $response);
$response->getBody()->write('. Enjoy!');
return $response;
});
https://www.slimframework.com/docs/v3/concepts/middleware.html#group-middleware