Мне удалось использовать обработчик запросов в сочетании с aura-router с одним обработчик маршрутизатора .
Я пытаюсь реализовать промежуточное ПО для конкретного маршрута, в отличие от «глобального» промежуточного ПО приложения.
$routerContainer = new RouterContainer();
$map = $routerContainer->getMap();
// Works fine...
$map->get('index', '/', 'App\Http\Controllers\HomeController::index');
// Error: Invalid request handler: array
$map->get('index', '/', [
new SampleRouteMiddleware(),
'App\Http\Controllers\HomeController::index'
]);
$request = ServerRequestFactory::fromGlobals($_SERVER, $_GET, $_POST, $_COOKIE, $_FILES);
$requestContainer = new RequestHandlerContainer();
$dispatcher = new Dispatcher([
new SampleAppMiddleware(), // applies to all routes...
new AuraRouter($routerContainer),
new RequestHandler($requestContainer),
]);
$response = $dispatcher->dispatch($request);