文章讲解“页面跳转”,本篇文章讲解“重定向”。
\think\Controller类的redirect方法可以实现页面的重定向功能。
redirect方法的参数用法和Url::build方法的用法一致(参考URL生成部分)。
1.项目内部重定向
例如:在Index控制器中新建test方法,进行重定向。
重定向到News控制器的index方法,并传参数name。
新建News控制,并新建index方法。
访问Index控制器的test方法,由于重定向,会迅速的跳转到News控制器的index方法:
2.重定向到外部URL
可以直接重定向到一个指定的外部URL地址,例如,跳转到百度页面。
Index控制器的test方法:
3.session闪存数据值
可以在重定向的时候通过session闪存数据传值,例如:
Index控制器的test方法:
浏览器访问:
通过session闪存的数据,可以通过session获取。
在News控制器中新建test方法,用于获取刚才闪存的session值。
访问完Index控制器的test方法后,访问News控制器的test方法。
4.redirect助手函数
使用redirect助手函数还可以实现更多的功能,例如可以记住当前的URL后跳转
Index控制器的test方法:
浏览器访问:
需要跳转到上次记住的URL的时候使用:
注意:1.跳转和重定向的URL地址不需要再使用url方法进行生成,会自动调用,请注意避免,否则会导致多次生成而出现两个重复的URL后缀。
ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员