鍍金池/ 教程/ PHP/ Laravel重定向
Laravel操作數(shù)據(jù)庫(kù)
Laravel會(huì)話(session)
Laravel文件上傳
Laravel Cookie
Laravel Facades
Laravel應(yīng)用程序結(jié)構(gòu)
Laravel響應(yīng)
Laravel插入數(shù)據(jù)庫(kù)表數(shù)據(jù)
Laravel錯(cuò)誤處理
Laravel環(huán)境安裝配置
Laravel本地化
Laravel Ajax
Laravel路由
Laravel錯(cuò)誤和日志記錄
Laravel檢索查詢數(shù)據(jù)
Laravel更新數(shù)據(jù)
Laravel刪除數(shù)據(jù)
Laravel表單處理
Laravel中間件
Laravel控制器
Laravel驗(yàn)證
Laravel安全
Laravel請(qǐng)求
Laravel發(fā)送郵件
Laravel重定向
Laravel教程
Laravel配置
Laravel事件處理
Laravel視圖

Laravel重定向

重定向至命名路由

命名路由用于給出具體的名字命名到一個(gè)路由。名稱可以使用“作為”數(shù)組鍵來被分配。

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

示例

第1步 - 創(chuàng)建一個(gè)名為 test.php 的視圖,并將其保存在resources/views/test.php。
<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');
});
第3步 - 訪問以下網(wǎng)址測(cè)試命名的路由例子。

http://localhost:8000/redirect

第4步 - 上面的URL執(zhí)行后,因?yàn)槲覀冎囟ㄏ虻?nbsp;http://localhost:8000/test 同時(shí)你會(huì)被重定向到命名路由 "testing"。

第5步 - URL的成功執(zhí)行后原來的URL會(huì)跳轉(zhuǎn)到  http://localhost:8000/test,您會(huì)收到以下輸出 -

重定向到控制器動(dòng)作

不僅命名的路由,但我們也可以重定向到控制器動(dòng)作。我們只需要簡(jiǎn)單將控制器和動(dòng)作名稱傳遞給動(dòng)作方法,如下面的例子所示。如果想傳遞一個(gè)參數(shù),那可以把它作為操作方法的第二個(gè)參數(shù)傳遞。

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

示例

第1步- 執(zhí)行以下命令來創(chuàng)建一個(gè)名為 RedirectController。
php artisan make:controller RedirectController
第2步 - 成功執(zhí)行后,您會(huì)收到以下輸出 -

第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');
});
第5步 - 請(qǐng)?jiān)L問以下網(wǎng)址進(jìn)行測(cè)試?yán)印?

http://localhost:8000/redirectcontroller

第6步 - 輸出結(jié)果如下圖所示。


上一篇:Laravel文件上傳下一篇:Laravel Facades