首页 > 网站 > 建站经验 > 正文

关于Laravel重定向的七种方法详解

2024-08-30 19:06:50
字体:
来源:转载
供稿:网友

在本篇文章中,我将给大家介绍如何从controller控制器中将用户从一个页面重定向到另一个页面。我们通常会使用redirect()方法来重定向控制器中的用户。

Laravel 5版本提供了redirect(),那么我们可以在Laravel 5.0、Laravel 5.1、Laravel 5.2和Laravel 5.3中简单地使用redirect()。

下面我们就给大家介绍七种Laravel重定向的方法。

1)重定向到URL

2)重定向回上一页

3)重定向到指定路由

4)带参数重定向到指定路由

5)重定向到控制器

6)重定向到带有参数的控制器

7)使用会话数据重定向

一、重定向URL

下面的例子我简单的重定向“itsolutionstuff/tags”的URL。

路由:

Route::get('itsolutionstuff/tags', 'HomeController@tags');

控制器:

  1. public function home() 
  2.  
  3.  
  4.     return redirect('itsolutionstuff/tags'); 
  5.  

二、重定向回上一页

在这个例子中,我们可以重定向回我们的前一个页面的URL,所以你可以用两种方法:

  1. public function home() 
  2.  
  3.  
  4.     return back(); 
  5.  
  6.  
  7. //或者 
  8.  
  9. public function home2() 
  10.  
  11.  
  12.     return redirect()->back(); 
  13.  

三、重定向到命名路由

代码示例如下:

路由:

Route::get('itsolutionstuff/tags', array('as'=> 'itsolutionstuff.tags', 'uses' => 'HomeController@tags'));

控制器:

  1. public function home() 
  2.  
  3.  
  4.     return redirect()->route('itsolutionstuff.tags'); 
  5.  

四、使用参数重定向到命名路由

代码示例如下:

路由:

Route::get('itsolutionstuff/tag/{id}', array('as'=> 'itsolutionstuff.tag', 'uses' => 'HomeController@tags'));

控制器:

  1. public function home() 
  2.  
  3.  
  4.     return redirect()->route('itsolutionstuff.tag',['id'=>17]); 
  5.  

五、重定向到控制器

代码示例如下:

  1. public function home() 
  2.  
  3.  
  4.     return redirect()->action('App/Http/Controllers/HomeController@home'); 
  5.  

六、重定向到带有参数的控制器

代码示例如下:

  1. public function home() 
  2.  
  3.  
  4.     return redirect()->action('App/Http/Controllers/HomeController@home',['id'=>17]); 
  5.  

七、使用会话数据重定向

我们还可以在控制器方法中用路由或url重定向时传递闪过的会话消息,如下所示。

  1. public function home() 
  2.  
  3.  
  4.     return redirect('home')->with('message''Welcome to PHP.cn!'); 
  5.  

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表