Мне нужно иметь текущий найденный контроллер и действие в промежуточном программном обеспечении, чтобы я мог выполнить некоторую проверку подлинности. Но я нашел это невозможным, потому что труба похожа на Middleware1 -> Middleware2-> выполняет диспетчеризацию -> контроллер @ action () -> Middleware2 -> Middleware1.
Поэтому перед отправкой я не могу получить информацию о маршруте. Это определенно не правильно делать это после $ controller-> action ().
Я сделал некоторые исследования и нашел это.
$allRoutes = $this->app->getRoutes(); $method = \Request::getMethod(); $pathInfo = \Request::getPathInfo(); $currentRoute = $allRoutes[$method.$pathInfo]['action']['uses'];
Но это не работает при посещении URI, например app/role/1
, потому что у $allRoutes
только индекс app/role/{id}
вместо app/role/1
.
Есть ли обходное решение об этом?