命名路由用于給出具體的名字命名到一個(gè)路由。名稱可以使用“作為”數(shù)組鍵來被分配。
Route::get('user/profile', ['as' => 'profile', function () { // }]);
<html> <body> <h2>Example of Redirecting to Named Routes</h2> </body> </html>
第2步 - 在 routes.php 文件中,我們已經(jīng)創(chuàng)建了 test.php 文件的路由,把它重新命名為 “testing”。我們還建立了一個(gè)路由 “redirect”,這將請(qǐng)求重定向到指定路由“testing”。
app/Http/routes.php
Route::get('/test', ['as'=>'testing',function(){ return view('test'); }]); Route::get('redirect',function(){ return redirect()->route('testing'); });
http://localhost:8000/redirect
第4步 - 上面的URL執(zhí)行后,因?yàn)槲覀冎囟ㄏ虻?nbsp;http://localhost:8000/test 同時(shí)你會(huì)被重定向到命名路由 "testing"。
不僅命名的路由,但我們也可以重定向到控制器動(dòng)作。我們只需要簡(jiǎn)單將控制器和動(dòng)作名稱傳遞給動(dòng)作方法,如下面的例子所示。如果想傳遞一個(gè)參數(shù),那可以把它作為操作方法的第二個(gè)參數(shù)傳遞。
return redirect()->action(‘NameOfController@methodName’,[parameters]);
php artisan make:controller RedirectController
第3步 - 將以下代碼復(fù)制到文件: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('reindex','RedirectController@index'); Route::get('/redirectcontroller',function(){ return redirect()->action('RedirectController@index'); });
http://localhost:8000/redirectcontroller