Tự tạo Facade trong Laravel (ok)
https://giaphiep.com/blog/tu-tao-facade-trong-laravel-14987
Tự tạo Facade trong Laravel
Giới thiệu
Facades cung cấp cách gọi static
cho các class được khai báo trong service container. Laravel Facade cho phép sử dụng cú pháp vừa ngắn gọn vừa dễ bảo trì hơn so với việc sử dụng các phương thức static
truyền thống.
Nếu bạn nào còn chưa hiểu rõ về Laravel Facade, thì có thể tìm hiểu qua bài viết này để biết rõ hơn Facade là gì? Facade hoạt động thế nào?
Chắc hẳn bạn nào code Laravel nhiều đã từng sử dụng những câu lệnh như này rồi: Auth::check();
, Log::info("Hello");
. Đó chính là Facade! Bạn có thấy việc gọi & sử dụng nó thật đơn giản như việc gọi 1 hàm static đúng không nào? Nhưng đó là việc bạn sử dụng lại Facade đã được tạo trong Laravel.
Vậy, có khi nào bạn cần phải tự tạo Facade riêng cho dự án của mình thì sao?
Hôm nay, mình sẽ giới thiệu làm thế nào để tự tạo Facade trong Laravel.
Các bước thực hiện
Sau đây là các bước để tạo Facade trong Laravel.
Tạo PHP Class File.
Bind class đó vào Service Provider.
Đăng ký Service Provider vào
providers
trong fileconfig\app.php
.Tạo class extends từ lluminate\Support\Facades\Facade.
Đăng ký class ở bước 4 vào
aliases
trong fileconfig\app.php
.
Tham khảo Facade Class
Thực hiện
Tạo mới 1 service provider có tên
DemoServiceProvider
theo command dưới đây (tên các bạn có thể tự tạo):
Tạo Facade
DemoFacade.php
trong folderApp/Demo/Facade
App/Demo/Facade/Demo.php
Thực hiện binding. Sửa file
DemoServiceProvider
đã tạo ở bước 1
Thêm service provider trong file
config/app.php
.
providers
aliases
Thêm
routes
: routes/web.php
Tạo file
DemoController.php
:
Tài liệu tham khảo
https://laravel.com/docs/5.5/providers https://laravel.com/docs/5.5/facades https://viblo.asia/p/laravel-beauty-tim-hieu-ve-facade-znVGLYLbvZOe https://www.tutorialspoint.com/laravel/laravel_facades.htm
Last updated