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 来测试命名路由示例。
    
    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.php
    
    Route::get('rr','RedirectController@index');
    Route::get('/redirectcontroller',function() {
       return redirect()->action('RedirectController@index');
    });
    
    步骤 5− 访问以下 URL 来测试示例。
    
    http://localhost:8000/redirectcontroller
    
    步骤 6− 输出将如下图所示。
    重定向控制器.jpg