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.phpRoute::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 后,您将收到以下输出 − -
重定向到控制器操作
不仅可以命名路由,我们还可以重定向到控制器操作。我们只需传递控制器和名称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.phpRoute::get('rr','RedirectController@index'); Route::get('/redirectcontroller',function() { return redirect()->action('RedirectController@index'); });
步骤 5− 访问以下 URL 来测试示例。http://localhost:8000/redirectcontroller
步骤 6− 输出将如下图所示。