Hướng dẫn php error page - trang lỗi php

Giới thiệu

Mặc định trong Laravel khi chúng ta đưa ra các mã lỗi như 404, 401, 500... hệ thống sẽ xử lý và đưa ra các trang thông báo lỗi default trông rất đơn giản và không được đẹp mắt Hôm nay mình sẽ chỉ các bạn cách custom lại các trang này và điều này rất đơn giản trong phiên bản Laravel 8 Vì là demo nên mình cũng chỉ tạo ra các page đơn giản thôi còn lại các bạn tự sáng tạo tùy ý nhé )Laravel khi chúng ta đưa ra các mã lỗi như 404, 401, 500... hệ thống sẽ xử lý và đưa ra các trang thông báo lỗi default trông rất đơn giản và không được đẹp mắt Hôm nay mình sẽ chỉ các bạn cách custom lại các trang này và điều này rất đơn giản trong phiên bản Laravel 8 Vì là demo nên mình cũng chỉ tạo ra các page đơn giản thôi còn lại các bạn tự sáng tạo tùy ý nhé

Hướng dẫn php error page - trang lỗi php
)

Tạo project

Mình sẽ tạo một project demo bằng composer

composer create-project laravel/laravel example-app

Đợi một lát phiên bản laravel 8 mới nhất sẽ được tải về thư mục của bạn Tiếp theo start server của project :

cd example-app
php artisan serve

Và mở url local: http://127.0.0.1:8000/

Tạo các view erors page

Tiếp theo chúng ta sẽ tạo ra các view cho các trang sẽ hiển thị lỗi tương ứng ở thư mục resources/views/errorsresources/views/errors

404.blade.php:

@extends('errors.layouts')

@section('code', '401')
@section('title', __('Unauthorized'))

@section('image')
    
@endsection @section('message', __('Sorry, you are not authorized to access this page.'))

401.blade.php:

@extends('errors.layouts')

@section('code', '404')
@section('title', __('Page Not Found'))

@section('image')
    
@endsection @section('message', __('Sorry, the page you are looking for could not be found.'))

500.blade.php:

@extends('errors.layouts')

@section('code', '500')
@section('title', __('Error'))

@section('image')
    
@endsection @section('message', __('Whoops, something went wrong on our servers.'))

Tương tự cho các mã lỗi khác chúng ta cũng tạo các view tương ứng cho nó Ở trên mình đã extends errors.layouts vì vậy mình sẽ cần tạo thêm một file layouts.blade nữa trong resources/views/errorsresources/views/errors

layouts.blade.php:




    @yield('title')

    
    

    
    
    

    
    


@yield('code', __('Oh no'))

@yield('message')

@yield('image')

Xem thử Cuối cùng để xem thử các view này chúng ta thử sửa file routes/web.php thành như sau: Các bạn có thể đưa các trang lỗi này trong dự án tùy vào từng router cụ thể hoặc từng case cụ thể , ở đây mình đưa trang ngay trong home page để test thử thôi nhé Cuối cùng để xem thử các view này chúng ta thử sửa file routes/web.php thành như sau: Các bạn có thể đưa các trang lỗi này trong dự án tùy vào từng router cụ thể hoặc từng case cụ thể , ở đây mình đưa trang ngay trong home page để test thử thôi nhé

và kết quả chúng ta sẽ được một trang thông báo lỗi trông sinh động hơn đấy Tương tự để xem thử các trang lỗi khác abort(401);, abort(500);... Cảm ơn các bạn đã theo dõi

Hướng dẫn php error page - trang lỗi php
Tương tự để xem thử các trang lỗi khác abort(401);, abort(500);... Cảm ơn các bạn đã theo dõi

Nguồn tham khảo tại : https://welcm.uk/blog/custom-error-pages-in-laravel