Laravel教程:重定向至命名路由或控制器动作

2018-10-0308:05:52后端程序开发Comments2,245 views字数 1607阅读模式

重定向至命名路由

命名路由用于给出具体的名字命名到一个路由。名称可以使用“作为”数组键来被分配。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6183.html

Route::get('user/profile', ['as' => 'profile', function () {
   //
}]);
注 - 在这里,我们命名为“profile”到路由“user/profile”。

示例

第1步 - 创建一个名为 test.php 的视图,并将其保存在resources/views/test.php。
<html>
   <body>
      <h2>Example of Redirecting to Named Routes</h2>
   </body>
</html>

第2步 - 在 routes.php 文件中,我们已经创建了 test.php 文件的路由,把它重新命名为 “testing”。我们还建立了一个路由 “redirect”,这将请求重定向到指定路由“testing”。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6183.html

app/Http/routes.php文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6183.html

Route::get('/test', ['as'=>'testing',function(){
   return view('test');
}]);
Route::get('redirect',function(){
   return redirect()->route('testing');
});
第3步 - 访问以下网址测试命名的路由例子。

http://localhost:8000/redirect文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6183.html

第4步 - 上面的URL执行后,因为我们重定向到 http://localhost:8000/test 同时你会被重定向到命名路由 "testing"。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6183.html

第5步 - URL的成功执行后原来的URL会跳转到  http://localhost:8000/test,您会收到以下输出 -
Laravel教程:重定向至命名路由或控制器动作
重定向到控制器动作

不仅命名的路由,但我们也可以重定向到控制器动作。我们只需要简单将控制器和动作名称传递给动作方法,如下面的例子所示。如果想传递一个参数,那可以把它作为操作方法的第二个参数传递。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6183.html

return redirect()->action(‘NameOfController@methodName’,[parameters]);

示例

第1步- 执行以下命令来创建一个名为 RedirectController。

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6183.html

php artisan make:controller RedirectController
第2步 - 成功执行后,您会收到以下输出 -
Laravel教程:重定向至命名路由或控制器动作

第3步 - 将以下代码复制到文件:app/Http/Controllers/RedirectController.php.文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6183.html

app/Http/Controllers/RedirectController.php文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6183.html

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class RedirectController extends Controller {
   public function index(){
      echo "Redirecting to controller's action.";
   }
}

第4步 - 添加以下行到文件: app/Http/routes.php.文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6183.html

app/Http/routes.php文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6183.html

Route::get('reindex','RedirectController@index');
Route::get('/redirectcontroller',function(){
   return redirect()->action('RedirectController@index');
});
第5步 - 请访问以下网址进行测试例子。

http://localhost:8000/redirectcontroller文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6183.html

第6步 - 输出结果如下图所示。
Laravel教程:重定向至命名路由或控制器动作
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/6183.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/6183.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定