Laravel - Mặt tiền
Mặt tiền cung cấp một staticgiao diện với các lớp có sẵn trong vùng chứa dịch vụ của ứng dụng. Laravelfacades phục vụ như static proxies cho các lớp cơ bản trong vùng chứa dịch vụ, cung cấp lợi ích của cú pháp ngắn gọn, diễn đạt trong khi vẫn duy trì khả năng kiểm tra và tính linh hoạt hơn các phương thức tĩnh truyền thống.
Cách tạo Mặt tiền
Sau đây là các bước để tạo Facade trong Laravel:
Step 1 - Tạo tập tin lớp PHP.
Step 2 - Ràng buộc lớp đó với Nhà cung cấp dịch vụ.
Step 3 - Đăng ký ServiceProvider đó để
Định cấu hình \ app.php làm nhà cung cấp.
Step 4 - Tạo Lớp mà lớp này mở rộng đến
lluminate \ Hỗ trợ \ Mặt tiền \ Mặt tiền.
Step 5 - Đăng ký điểm 4 vào Config \ app.php làm bí danh.
Tham chiếu lớp mặt tiền
Laravel vận chuyển với nhiều Mặt tiền. Bảng sau đây hiển thị các tham chiếu lớp Facade có sẵn -
Mặt tiền | Lớp học | Ràng buộc vùng chứa dịch vụ |
---|---|---|
Ứng dụng | Illuminate \ Foundation \ Application | ứng dụng |
Nghệ nhân | Chiếu sáng \ Hợp đồng \ Bảng điều khiển \ Kernel | nghệ nhân |
Auth | Illuminate \ Auth \ AuthManager | auth |
Auth (Phiên bản) | Chiếu sáng \ Auth \ Guard | |
Lưỡi | Illuminate \ View \ Compilers \ BladeCompiler | blade.compiler |
Xe buýt | Chiếu sáng \ Hợp đồng \ Xe buýt \ Điều phối viên | |
Bộ nhớ đệm | Illuminate \ Cache \ Repository | bộ nhớ đệm |
Cấu hình | Illuminate \ Config \ Repository | cấu hình |
Bánh quy | Chiếu sáng \ Cookie \ CookieJar | bánh quy |
Crypt | Illuminate \ Encryption \ Encrypter | mã hóa |
DB | Illuminate \ Database \ DatabaseManager | db |
DB (Phiên bản) | Chiếu sáng \ Cơ sở dữ liệu \ Kết nối | |
Biến cố | Chiếu sáng \ Sự kiện \ Điều phối viên | sự kiện |
Tập tin | Illuminate \ Filesystem \ Filesystem | các tập tin |
Cánh cổng | Chiếu sáng \ Hợp đồng \ Xác thực \ Truy cập \ Cổng | |
Băm | Chiếu sáng \ Hợp đồng \ Hashing \ Hasher | băm |
Đầu vào | Chiếu sáng \ Http \ Yêu cầu | yêu cầu |
Lang | Chiếu sáng \ Bản dịch \ Trình dịch | người phiên dịch |
Nhật ký | Illuminate \ Log \ Writer | khúc gỗ |
Thư | Chiếu sáng \ Mail \ Mailer | người đưa thư |
Mật khẩu | Illuminate \ Auth \ Passwords \ PasswordBroker | auth.password |
Xếp hàng | Illuminate \ Queue \ QueueManager | xếp hàng |
Hàng đợi (Phiên bản) | Illuminate \ Queue \ QueueInterface | |
Hàng đợi (Lớp cơ sở) | Chiếu sáng \ Hàng đợi \ Hàng đợi | |
Chuyển hướng | Illuminate \ Routing \ Redirector | chuyển hướng |
Redis | Illuminate \ Redis \ Database | redis |
Yêu cầu | Chiếu sáng \ Http \ Yêu cầu | yêu cầu |
Phản ứng | Illuminate \ Contracts \ Routing \ ResponseFactory | |
Lộ trình | Chiếu sáng \ Định tuyến \ Bộ định tuyến | bộ định tuyến |
Lược đồ | Illuminate \ Database \ Schema \ Blueprint | |
Phiên họp | Illuminate \ Session \ SessionManager | phiên họp |
Phiên (Phiên bản) | Chiếu sáng \ Phiên \ Cửa hàng | |
Lưu trữ | Chiếu sáng \ Hợp đồng \ Hệ thống tập tin \ Nhà máy | hệ thống tập tin |
URL | Illuminate \ Routing \ UrlGenerator | url |
Trình xác thực | Chiếu sáng \ Xác thực \ Nhà máy | người xác nhận |
Trình xác thực (Phiên bản) | Chiếu sáng \ Xác thực \ Trình xác thực | |
Lượt xem | Chiếu sáng \ Xem \ Nhà máy | lượt xem |
Xem (Phiên bản) | Chiếu sáng \ Xem \ Xem |
Thí dụ
Step 1 - Tạo một nhà cung cấp dịch vụ được gọi là TestFacadesServiceProvider bằng cách thực hiện lệnh sau.
php artisan make:provider TestFacadesServiceProvider
Step 2 - Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:
Step 3 - Tạo một lớp được gọi là TestFacades.php tại App/Test.
App/Test/TestFacades.php
<?php
namespace App\Test;
class TestFacades{
public function testingFacades() {
echo "Testing the Facades in Laravel.";
}
}
?>
Step 4 - Tạo một lớp Mặt tiền được gọi là “TestFacades.php” tại “App/Test/Facades”.
App/Test/Facades/TestFacades.php
<?php
namespace app\Test\Facades;
use Illuminate\Support\Facades\Facade;
class TestFacades extends Facade {
protected static function getFacadeAccessor() { return 'test'; }
}
Step 5 - Tạo một lớp Mặt tiền được gọi là TestFacadesServiceProviders.php tại App/Test/Facades.
App/Providers/TestFacadesServiceProviders.php
<?php
namespace App\Providers;
use App;
use Illuminate\Support\ServiceProvider;
class TestFacadesServiceProvider extends ServiceProvider {
public function boot() {
//
}
public function register() {
App::bind('test',function() {
return new \App\Test\TestFacades;
});
}
}
Step 6 - Thêm nhà cung cấp dịch vụ vào tệp config/app.php như thể hiện trong hình dưới đây.
config/app.php
Step 7 - Thêm bí danh vào tệp config/app.php như thể hiện trong hình dưới đây.
config/app.php
Step 8 - Thêm các dòng sau vào app/Http/routes.php.
app/Http/routes.php
Route::get('/facadeex', function() {
return TestFacades::testingFacades();
});
Step 9 - Truy cập URL sau để kiểm tra Mặt tiền.
http://localhost:8000/facadeex
Step 10 - Sau khi truy cập URL, bạn sẽ nhận được kết quả sau: