Laravel URL 处理:当前 URL 1 个改进

问题

如何获得当前 URL?

回答

要获取当前 URL 的信息,可通过全局辅助函数 url,在无参调用 url 时,会返回一个 Illuminate\Routing\UrlGenerator 实例,其提供了多个方法可获取当前 URL 的相关信息,考虑下面的例子:

Route::get('/url', function () {

    return [
        'current' => url()->current(),
        'full' => url()->full(),
        'previous' => url()->previous()
    ];
});

如果我们访问 /url,则返回结果如下:

{
  "current": "http://domain.com/url",
  "full": "http://domain.com/url?name=jack",
  "previous": "http://domain.com/url?name=tom"
}

可见 ,url()->current() 返回的是不包含查询字符串的当前 URL,url()->full() 返回的是包含查询字符串的当前 URL,url()->previous() 返回的是前一个访问的完整 URL。

我们也可以通过 URL 门面方法来获得这些信息:

use Illuminate\Support\Facades\URL;

echo URL::current();

参考

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 1
MrPange

想获取 "http://domain.com" 咋办

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!