在Laravel中,你可以使用Route
facade来获取当前路由信息。以下是一个示例代码,展示了如何在控制器或中间件中获取当前路由的信息:
use Illuminate\Support\Facades\Route;
// 在控制器方法中
public function showCurrentRoute()
{
$route = Route::current(); // 获取当前路由
$name = $route->getName(); // 获取路由名称
$action = $route->getActionName(); // 获取路由行为(对应控制器方法)
$uri = $route->uri(); // 获取路由URI
// 打印或返回信息
return "当前路由名称: {$name}, 行为: {$action}, URI: {$uri}";
}
// 在中间件中
public function handle($request, Closure $next)
{
$route = Route::current(); // 获取当前路由
// 你可以在这里做任何你需要的操作,比如日志记录等
return $next($request);
}
在上述代码中,Route::current()
方法返回一个 Illuminate\Routing\Route
实例,它代表了当前被请求的路由。你可以通过调用该实例的方法来获取路由的名称、行为(对应的控制器和方法)以及URI。