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

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

注意:文章标题中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中的函数:

//返回当前页面的地址(不包含参数) url()->current(); //返回当前页面的完整地址(包含参数) url()->full(); //返回前一个页面的地址(包含参数) 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)的管理路径名称。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112373.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Linux C语言写的超级简单port扫描器

    Linux C语言写的超级简单port扫描器

    2021年12月15日
  • 图标变成了一张白纸_电脑图标是白纸形式但能打开

    图标变成了一张白纸_电脑图标是白纸形式但能打开大家好,我是波导终结者。WIN10到现在也有些年头了,虽然好的不学学坏的,天天搞强制升级有些烦人,有时候新版本的BUG也比较致命,但是整体的性能,功能和稳定性上还是有飞跃性的提升。其实WIN10自带不少实用工具,而且兼容性和稳定性没得说,很多时候我们可以不必寻找第三方工具,省了很多钱,也提高了不少效率。今天就一起来看看吧。WIN10自带截图工具WIN10自带截图工具,虽然肯定不比专业的截图工具强,…

    2022年10月19日
  • Android Hook技术详解

    Android Hook技术详解代理模式详解,动态代理原理分析,AndroidHook技术详解以及其在插件化,性能优化上的一些案例分析。

  • copy与deepcopy的区别_clone和copy的区别

    copy与deepcopy的区别_clone和copy的区别最近在实习,boss给布置了一个python的小任务,学习过程中发现copy()和deepcopy()这对好基友实在是有点过分,一开始还相爱着呢,不知道怎么回事就开始相杀了。搞的博主就有点傻傻分不清啊,但是呢,本着一探到底的极客精神,还是要查资料搞清楚这对好基友的区别。其实呢,copy()与deepcopy()之间的区分必须要涉及到python对于数据的存储方式。首先直接上结论:

  • tomcat 设置允许跨域访问「建议收藏」

    tomcat 设置允许跨域访问「建议收藏」既然想到使用tomcat进行跨域的设置,而不使用在项目中设置header来解决,说明你也是tomcat下的资源需要做跨域处理吧?这也是一个统一的允许跨域设置,tomcat下的所有请求都将放开,请注意。具体步骤:1.首先找到你的tomcat所在路径,并在conf文件夹下找到web.xml2.打开该文件,在以下位置加上这段:<filter><…

  • eclipse创建一个java项目目录_Eclipse创建JAVA项目

    eclipse创建一个java项目目录_Eclipse创建JAVA项目项目:project包:package类:class为了便于硬盘上的文件进行管理,通常都会将文件分目录进行存放。同理,在程序开发中,也需要将编写的类在项目中分目录存放,以便于文件管理。为此,Jaca引入了包(package)机制,(貌似跟Python的包差不多),程序可以通过声明包的方式对Java类定义目录。Java中的包是专门用来存放类的,通常功能相同的类存放在相同的包中。在声明包时,使用Pac…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号