Laravel 5.2+ 使用url()全局函数返回前一个页面的地址

举报
lxw1844912514 发表于 2022/03/27 03:32:54 2022/03/27
【摘要】 注意:文章标题中5.2+表示该文章内容可向上兼容,适用于Laravel版本5.2及更高(目前最新为5.6),但不可向下兼容,即不适用于5.2版本以下。推荐大家花一点点时间,将自己的Laravel更新至5.6版本。 在后台开发时,我们经常需要获取用户之前操作页面的地址并生成一个返回之前页面的链接。而Laravel从版本5.2+开...

注意:文章标题中5.2+表示该文章内容可向上兼容,适用于Laravel版本5.2及更高(目前最新为5.6),但不可向下兼容,即不适用于5.2版本以下。推荐大家花一点点时间,将自己的Laravel更新至5.6版本。

在后台开发时,我们经常需要获取用户之前操作页面的地址并生成一个返回之前页面的链接。
Laravel从版本5.2+开始,便提供了一系列全局帮助函数(Helper Functions)来简化我们的工作:

https://laravel.com/docs/5.2/helpers#method-url
要查看更高版本的相应文档,请将以上链接中的版本号替换为相应版本即可。

帮助函数中有一些很常用到的,比如Paths中的public_pathstorage_pathMiscellaneous中的ddviewsession等。
而今天我们要用到的是URLs中的函数:


   
  1. //返回当前页面的地址(不包含参数)
  2. url()->current();
  3. //返回当前页面的完整地址(包含参数)
  4. url()->full();
  5. //返回前一个页面的地址(包含参数)
  6. url()->previous();

例如,我们当前位置处于以下页面:

http://blog.sbot.io/articles/6?author=eagle

如果我们在该页面点击了某个操作,那么在我们的控制器中,我们输出

echo url()->previous();
  

会发现输出的结果与我们之前操作的页面的url一致:

http://blog.sbot.io/articles/6?author=eagle

全局函数可以在blade模板中直接使用,所以如果我们要创建一个返回按钮,我们可以在view中使用以下代码:

<a href="{{ url()->previous() }}">返回</a>
  

当然,很多情况下我们也可以直接返回至指定的路径名:

<a href="{{ route('articles.index') }}">返回文章管理</a>
  

这里我们使用了极为常用的route函数,articles.indexarticles这个资源(resource)的管理路径名称。

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/100029246

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。