Các Fallback routes là gì? (phần 2)

Fallback Routes (tiếp tục)

Hãy cùng minh hoạ việc sử dụng một fallback route trong Laravel.
Giả sử chúng ta muốn thể hiện một 404 error page custom khi không có route khớp với yêu cầu
đi đến. Bạn có thể định nghĩa một fallback route giống cái này:

Route::fallback( function () {
return response()->view( ‘errors.404’ , [], 404 );
});

Ở đây, nếu không có route khác khớp, Laravel sẽ thực thi hàm được cung cấp tới phương thức fallback.
Hàm này tạo một trả lời cái duyệt view errors.404 và thiết lập code trạng thái HTTP thành 404.
Thay thế vào đó, nếu bạn thích hơn sử dụng một controller cho fallback logic, bạn có thể định nghĩa
một FallbackController giống cái này:

namespace App \ Http \ Controllers ;
use Illuminate \ Http \ Request ;
class FallbackController extends Controller
{
public function __invoke (Request $request)
{
return response()->view( ‘errors.404’ , [], 404
);
}
}

Sau đó bạn sẽ đăng kí controller này như fallback route của bạn trong routes file của bạn:

use App \ Http \ Controllers \ FallbackController ;
Route::fallback(FallbackController::class);

Lại một lần nữa, nếu không có các routes khác khớp, Laravel sẽ gọi phương thức __invoke trên FallbackController,
cái trả về một trả lời cái duyệt view errors.404 và thiết lập code trạng thái HTTP thành 404.
Fallback route nên là route cuối cùng bạn định nghĩa, vì Laravel sẽ thực thi fallback route chỉ nếu không có route
khác khớp với yêu cầu đang đi đến.

Chia sẻ

Leave a Reply

Your email address will not be published. Required fields are marked *