我知道在以前的Laravel版本(例如4)中,可以通过
获取当前的uriRoute::current()->uri();
但是,这似乎在Laravel 5.7或更高版本中不起作用。我想知道应该如何重写它。 请注意,我在刀片视图中访问uri,因此不能使用非静态方法。
答案 0 :(得分:2)
您可以使用以下方法在laravel中获取当前网址。
// Get the current URL without the query string...
echo url()->current();
// Get the current URL including the query string...
echo url()->full();
// Get the full URL for the previous request...
echo url()->previous();
还可以通过URL外观访问以下每种方法:
use Illuminate\Support\Facades\URL;
echo URL::current();
有关更多信息,您可以阅读完整的文档here。
答案 1 :(得分:1)
这应该仍然有效-但如果未命名当前路径,则可能无法正常工作。您可能应该从请求中获取路径。
Request::path();
由于您可以调用许多相关方法,因此可能还会检查请求实例的API。
Request::root();
Request::url();
Request::fullUrl();
Request::fullUrlWithQuery();
答案 2 :(得分:0)
public function yourMethod(Request $request)
{
return view('your-view', [ 'current-uri' => $request->route()->uri() ]);
}