Laravel - Chuyển hướng
Tuyến đường đã đặt tên được sử dụng để đặt tên cụ thể cho một tuyến đường. Tên có thể được chỉ định bằng cách sử dụng“as” phím mảng.
Route::get('user/profile', ['as' => 'profile', function () {
//
}]);
Note - Ở đây, chúng tôi đã đặt tên profile đến một tuyến đường user/profile.
Chuyển hướng đến các tuyến đường được đặt tên
Thí dụ
Quan sát ví dụ sau để hiểu thêm về Chuyển hướng đến các tuyến đường đã đặt tên -
Step 1 - Tạo một dạng xem có tên test.php và lưu nó tại
resources/views/test.php.
<html>
<body>
<h1>Example of Redirecting to Named Routes</h1>
</body>
</html>
Step 2 - Trong routes.php, chúng tôi đã thiết lập tuyến đường cho test.phptập tin. Chúng tôi đã đổi tên nó thànhtesting. Chúng tôi cũng đã thiết lập một tuyến đường khácredirect điều này sẽ chuyển hướng yêu cầu đến tuyến đường được đặt tên testing.
app/Http/routes.php
Route::get('/test', ['as'=>'testing',function() {
return view('test2');
}]);
Route::get('redirect',function() {
return redirect()->route('testing');
});
Step 3 - Truy cập URL sau để kiểm tra ví dụ về tuyến đường được đặt tên.
http://localhost:8000/redirect
Step 4 - Sau khi thực thi URL trên, bạn sẽ được chuyển hướng đến http: // localhost: 8000 / test vì chúng tôi đang chuyển hướng đến tuyến đường đã đặt tên testing.
Step 5 - Sau khi thực hiện thành công URL, bạn sẽ nhận được kết quả sau:
Chuyển hướng đến Hành động của Bộ điều khiển
Không chỉ tuyến đường được đặt tên mà chúng ta còn có thể chuyển hướng đến các hành động của bộ điều khiển. Chúng ta chỉ cần chuyển bộ điều khiển và tên củaactionvào phương thức hành động như được hiển thị trong ví dụ sau. Nếu bạn muốn truyền một tham số, bạn có thể truyền nó làm đối số thứ hai của phương thức hành động.
return redirect()->action(‘NameOfController@methodName’,[parameters]);
Thí dụ
Step 1 - Thực hiện lệnh sau để tạo bộ điều khiển có tên RedirectController.
php artisan make:controller RedirectController --plain
Step 2 - Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:
Step 3 - Sao chép mã sau vào tệp
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.";
}
}
Step 4 - Thêm các dòng sau vào app/Http/routes.php.
app/Http/routes.php
Route::get('rr','RedirectController@index');
Route::get('/redirectcontroller',function() {
return redirect()->action('RedirectController@index');
});
Step 5 - Truy cập URL sau để kiểm tra ví dụ.
http://localhost:8000/redirectcontroller
Step 6 - Đầu ra sẽ xuất hiện như trong hình sau.