- Laravel 教程
- Laravel - 主页
- Laravel - 概述
- Laravel - 安装
- Laravel - 应用程序结构
- Laravel - 配置
- Laravel - 路由
- Laravel - 中间件
- Laravel - 命名空间
- Laravel - 控制器
- Laravel - 请求
- Laravel-Cookie
- Laravel - 响应
- Laravel - 视图
- Laravel - 刀片模板
- Laravel - 重定向
- Laravel - 使用数据库
- Laravel - 错误和日志记录
- Laravel - 表单
- Laravel - 本地化
- Laravel - 会话
- Laravel - 验证
- Laravel - 文件上传
- Laravel - 发送电子邮件
- Laravel - AJAX
- Laravel - 错误处理
- Laravel - 事件处理
- Laravel - 外观
- Laravel - 合约
- Laravel - CSRF 保护
- Laravel - 身份验证
- Laravel - 授权
- Laravel - Artisan 控制台
- Laravel - 加密
- Laravel - 哈希
- 了解发布流程
- Laravel - 访客用户门
- Laravel - Artisan 命令
- Laravel - 分页自定义
- Laravel - 转储服务器
- Laravel - 操作 URL
- Laravel 有用资源
- Laravel - 快速指南
- Laravel - 有用的资源
- Laravel - 讨论
Laravel - 重定向
命名路由用于为路由指定特定名称。可以使用“as”数组键指定名称。
Route::get('user/profile', ['as' => 'profile', function () { // }]);
注意- 在这里,我们将名称profile指定为路由user/profile。
重定向到命名路由
例子
观察以下示例以了解有关重定向到命名路由的更多信息 -
步骤 1 - 创建一个名为 test.php 的视图并将其保存在
资源/视图/test.php。
<html> <body> <h1>Example of Redirecting to Named Routes</h1> </body> </html>
步骤2 - 在routes.php中,我们设置了test.php文件的路由。我们已将其重命名为testing。我们还设置了另一个路由重定向,它将请求重定向到名为测试的路由。
应用程序/Http/routes.php
Route::get('/test', ['as'=>'testing',function() { return view('test2'); }]); Route::get('redirect',function() { return redirect()->route('testing'); });
步骤 3 - 访问以下 URL 来测试命名路由示例。
http://localhost:8000/redirect
第 4 步- 执行上述 URL 后,您将被重定向到 http://localhost:8000/test,因为我们正在重定向到命名路由testing。
步骤 5 - 成功执行 URL 后,您将收到以下输出 -
重定向到控制器操作
不仅可以命名路由,我们还可以重定向到控制器操作。我们只需将控制器和操作名称传递给操作方法,如以下示例所示。如果要传递参数,可以将其作为操作方法的第二个参数传递。
return redirect()->action(‘NameOfController@methodName’,[parameters]);
例子
步骤 1 - 执行以下命令创建一个名为RedirectController的控制器。
php artisan make:controller RedirectController --plain
步骤 2 - 成功执行后,您将收到以下输出 -
步骤 3 - 将以下代码复制到文件
应用程序/Http/Controllers/RedirectController.php。
应用程序/Http/Controllers/RedirectController.php
<?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中添加以下行。
应用程序/Http/routes.php
Route::get('rr','RedirectController@index'); Route::get('/redirectcontroller',function() { return redirect()->action('RedirectController@index'); });
步骤 5 - 访问以下 URL 来测试示例。
http://localhost:8000/redirectcontroller
步骤 6 - 输出将如下图所示。