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