Làm cách nào để tạo mặt tiền tùy chỉnh trong PHP?
Tạo lớp trợ giúp PHP php artisan make:provider LarashoutServiceProvider1 trong php artisan make:provider LarashoutServiceProvider2. Bạn có thể tạo thư mục theo ý mình thay vì Larashout Show
namespace App\Larashout; class Larashout { public function sayHello() { echo "Hello, from Facade class."; } } Bước 2Liên kết lớp này với Nhà cung cấp dịch vụ, trong trường hợp của tôi, tôi sẽ tạo nhà cung cấp dịch vụ bằng cách thực hiện lệnh bên dưới php artisan make:provider LarashoutServiceProvider Sau đó thêm mã bên dưới vào phương thức php artisan make:provider LarashoutServiceProvider3 để ràng buộc lớp của chúng ta $this->app->bind('larashout',function(){ return new Larashout(); }); Vì vậy, lớp nhà cung cấp dịch vụ của bạn sẽ giống như bên dưới namespace App\Providers; use App\Larashout; use Illuminate\Support\Facades\App; use Illuminate\Support\ServiceProvider; class LarashoutServiceProvider extends ServiceProvider { /** * Bootstrap the application services. * * @return void */ public function boot() { // } /** * Register the application services. * * @return void */ public function register() { $this->app->bind('larashout',function(){ return new Larashout(); }); } } Bước 3Đăng ký nhà cung cấp dịch vụ đó trong php artisan make:provider LarashoutServiceProvider4 với tư cách là nhà cung cấp________số 8 Bước 4Tạo một tệp php artisan make:provider LarashoutServiceProvider5 trong php artisan make:provider LarashoutServiceProvider2 sẽ mở rộng php artisan make:provider LarashoutServiceProvider7. Ví dụ, lớp học của tôi sẽ giống như dưới đây không gian tên Ứng dụng \ Larashout; sử dụng Chiếu sáng\Hỗ trợ\Mặt tiền\Mặt tiền; php artisan make:provider LarashoutServiceProvider2 Bước5Đăng ký lớp được tạo ở Bước 4 trong php artisan make:provider LarashoutServiceProvider4 dưới dạng bí danh php artisan make:provider LarashoutServiceProvider4 thử nghiệmHãy kiểm tra mặt tiền của bạn bằng cách thêm một tuyến đường đơn giản sẽ phân giải thành một hàm đóng triển khai lớp mặt tiền của chúng ta php artisan make:provider LarashoutServiceProvider5 Truy cập trình duyệt của bạn với tuyến đường trên và bạn sẽ thấy thông báo xin chào. Tôi hy vọng bài đăng này sẽ giúp bạn triển khai mặt tiền tùy chỉnh "Laravel có những thứ gọi là mặt tiền - mà chúng ta có thể hiểu là các trình bao bọc tĩnh xung quanh các thể hiện (đối tượng) hoặc giao diện không tĩnh theo truyền thống được sử dụng để loại bỏ hành vi của một lớp nhất định. " Ra khỏi cổng, Laravel đi kèm với một số Mặt tiền được xác định trước - Ứng dụng, Nghệ nhân, Lưỡi dao, Phát sóng, Chế độ xem, v.v. Hầu hết các Mặt tiền này đều được kết nối với chức năng trợ giúp toàn cầu có liên quan Ví dụ về các facade có trợ giúp toàn cục
Làm thế nào để chúng ta gọi một Mặt tiền?
php artisan make:provider LarashoutServiceProvider63 Làm cách nào để chúng tôi tạo Mặt tiền tùy chỉnh của riêng mình trong Laravel?
namespace App\Larashout; class Larashout { public function sayHello() { echo "Hello, from Facade class."; } }0 Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Hiện tại để truy cập phương thức example() của lớp php artisan make:provider LarashoutServiceProvider64, chúng ta cần thực hiện như sau php artisan make:provider LarashoutServiceProvider6 Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Những gì chúng tôi muốn có thể làm là truy cập tĩnh vào cùng một lớp với cùng chức năng và không cần nhập toàn bộ đường dẫn lớp Ví dụ. Chúng tôi muốn đơn giản là có thể làm điều này namespace App\Larashout; class Larashout { public function sayHello() { echo "Hello, from Facade class."; } }3 Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
namespace App\Larashout; class Larashout { public function sayHello() { echo "Hello, from Facade class."; } }8 Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
php artisan make:provider LarashoutServiceProvider4 Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Bây giờ chúng ta có thể giải quyết một thể hiện của lớp php artisan make:provider LarashoutServiceProvider64 bằng cách tham chiếu vùng chứa dịch vụ của chúng ta. Khi chúng tôi truy xuất thứ gì đó từ bộ chứa dịch vụ của mình bằng phím 'Thông tin', chúng tôi sẽ trả về một đối tượng namespace App\Larashout; class Larashout { public function sayHello() { echo "Hello, from Facade class."; } }35 mới namespace App\Larashout; class Larashout { public function sayHello() { echo "Hello, from Facade class."; } }33 của chúng tôi tham chiếu khóa được sử dụng để liên kết namespace App\Larashout; class Larashout { public function sayHello() { echo "Hello, from Facade class."; } }35 với bộ chứa dịch vụ của chúng tôi - do đó, nó biết cách giải quyết phiên bản từ bộ chứa của chúng tôi Bây giờ, chúng tôi đã thiết lập chức năng cho Mặt tiền của mình. Với lớp Dịch vụ được liên kết với vùng chứa và lớp Mặt tiền tham chiếu liên kết trả về một thể hiện của lớp dịch vụ đó từ vùng chứa của chúng ta, chúng ta thực sự có thể sử dụng Mặt tiền của mình bằng cách tham chiếu toàn bộ đường dẫn lớp đến mặt tiền đã cho của chúng ta php artisan make:provider LarashoutServiceProvider9 Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Chúng ta đã gần kết thúc, vậy làm thế nào để chúng ta chuyển từ việc cần tham chiếu toàn bộ đường dẫn lớp đến mặt tiền của chúng ta như vậy như vậy namespace App\Larashout; class Larashout { public function sayHello() { echo "Hello, from Facade class."; } }38 xuống chỉ cần gọi namespace App\Larashout; class Larashout { public function sayHello() { echo "Hello, from Facade class."; } }39? Bước này thực sự cực kỳ đơn giản - chúng tôi thêm bí danh. Chúng tôi chỉ đơn giản là tạo một bí danh cho đường dẫn lớp Mặt tiền của chúng tôi là namespace App\Larashout; class Larashout { public function sayHello() { echo "Hello, from Facade class."; } }80 và bí danh đó sẽ là namespace App\Larashout; class Larashout { public function sayHello() { echo "Hello, from Facade class."; } }81 Làm cách nào để thêm bí danh trong Laravel?
php artisan make:provider LarashoutServiceProvider6 Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Bây giờ chúng ta có thể mở thiết bị đầu cuối của mình, chạy namespace App\Larashout; class Larashout { public function sayHello() { echo "Hello, from Facade class."; } }84 sau đó chạy php artisan make:provider LarashoutServiceProvider61 và thực thi php artisan make:provider LarashoutServiceProvider9 Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Và cứ như thế, nó hoạt động. Đó là Mặt tiền của Laravel đó mọi người Đánh giá mặt tiền của Laravel
Gói Laravel Make Facades
Và, đó - các kỹ sư phần mềm của thế giới - là cách Laravel Facades hoạt động trong Laravel cũng như cách tạo của riêng bạn. Vui lòng xem toàn bộ bản ghi màn hình để tìm hiểu sâu hơn về chi tiết cũng như xem qua gói cài đặt lệnh php artisan make:provider LarashoutServiceProvider90 để tạo giàn giáo hoặc tạo mặt tiền tùy chỉnh mà không cần thực hiện thêm công việc nào khác Mặt tiền trong PHP là gì?Mặt tiền là mẫu thiết kế cấu trúc cung cấp giao diện đơn giản hóa (nhưng có giới hạn) cho một hệ thống lớp, thư viện hoặc khung phức tạp . Mặc dù Facade làm giảm độ phức tạp tổng thể của ứng dụng, nhưng nó cũng giúp di chuyển các phần phụ thuộc không mong muốn đến một nơi.
Mặt tiền trong Laravel 8 là gì?Trong ứng dụng Laravel, facade là lớp cung cấp quyền truy cập vào một đối tượng từ vùng chứa . Máy móc thực hiện công việc này thuộc lớp Mặt tiền. Các facades của Laravel, và bất kỳ facades tùy chỉnh nào bạn tạo, sẽ mở rộng lớp cơ sở Illuminate\Support\Facades\Facade.
Tại sao nên sử dụng facades trong Laravel?Các "mặt tiền" của Laravel đóng vai trò là "proxy tĩnh" cho các lớp bên dưới trong bộ chứa IoC, mang lại lợi ích của cú pháp ngắn gọn, biểu cảm trong khi vẫn duy trì khả năng kiểm tra và linh hoạt hơn so với các phương thức tĩnh truyền thống
Làm cách nào để tạo lớp tùy chỉnh trong Laravel 8?Bạn có thể tạo bất kỳ lớp tùy chỉnh nào bên trong. /app thư mục mà không thay đổi bất cứ điều gì trong trình soạn thảo của bạn. tệp json, miễn là không gian tên chính xác . Khi sử dụng nó, chẳng hạn như trong bộ điều khiển, bạn chỉ cần nhập nó bằng không gian tên. |