Laravel 请求:获取请求路径
问题
如何在控制器中获取请求路径?如请求 domain.com/foo/bar ,我们想获取 foo/bar
这一段。
回答
可通过调用Illuminate\Http\Request
实例的path
方法来获取请求路径:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller
{
public function index(Request $request)
{
$uri = $request->path();
return [$uri];
}
}
如果请求的路径是 http://domain.com/foo/bar
, path
方法将会返回 foo/bar
。
此外,还可以使用 is
方法来验证传入的请求路径是否与给定的模式匹配。在方法中,可以使用 *
字符作为通配符:
if ($request->is('admin/*')) {
//
}