Bí danh trong laravel là gì?
Eloquent là một trình ánh xạ quan hệ đối tượng (ORM) mới giúp tương tác với cơ sở dữ liệu. Với Eloquent, mỗi bảng có một Mô hình ánh xạ đảm nhiệm tất cả các thao tác trên bảng đó Show Giả sử chúng ta đã tạo một bảng có tên student với nội dung sau - +----+---------------+------------------+-----------------------------+-----------------------------+---------+------+ | id | name | email | created_at | updated_at | address | age | +----+---------------+------------------+-----------------------------+-----------------------------+---------+------+ | 1 | Siya Khan | [email protected] | 2022-05-01T13:45:55.000000Z | 2022-05-01T13:45:55.000000Z | Xyz | 20 | | 2 | Rehan Khan | [email protected] | 2022-05-01T13:49:50.000000Z | 2022-05-01T13:49:50.000000Z | Xyz | 18 | | 3 | Rehan Khan | [email protected] | NULL | NULL | testing | 20 | | 4 | Rehan | [email protected] | NULL | NULL | abcd | 15 | | 5 | Nidhi Agarwal | [email protected] | NULL | NULL | abcd | 20 | | 6 | Ashvik Khanna | [email protected] | NULL | NULL | oooo | 16 | | 7 | Viraj Desai | [email protected] | NULL | NULL | test | 18 | | 8 | Priya Singh | [email protected] | NULL | NULL | test123 | 20 | +----+---------------+------------------+-----------------------------+-----------------------------+---------+------+ 8 rows in set (0.00 sec) Ví dụTrong Laravel bí danh trên một bảng có thể được tạo bằng từ khóa "as". Sau đây là một ví dụ để làm như vậy Các giao diện là một phần quan trọng của Laravel framework. Bạn cũng có thể gọi chúng là hợp đồng, đây là cách chúng được gọi trên Github. Đây là tập hợp các giao diện mà Laravel framework tự sử dụng. Bằng cách duyệt kho lưu trữ hợp đồng tại Github, bạn có thể làm quen với toàn bộ API của khung. Tất cả các lớp cụ thể của khung triển khai các giao diện khác nhau này. Trên thực tế, khi tìm hiểu về một dự án phần mềm, bắt đầu bằng cách duyệt qua tất cả các giao diện không phải là một ý tưởng tồi. Điều này cho bạn biết những phương pháp nào sẽ có sẵn cho bạn Kho lưu trữ bộ đệmVí dụ, chúng ta có thể xem kho lưu trữ Cache
Bằng cách xem giao diện này, chúng ta có thể thấy rằng bất kỳ triển khai cụ thể nào cũng sẽ cần tuân theo các phương thức được xác định trong hợp đồng. Chúng ta có thể thấy đây sẽ là những thứ như 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 20, và 21. Khi chúng ta xem xét điều này, chúng ta có thể thấy điều này tạo nên tài liệu tuyệt vời. Cần biết những phương pháp nào có sẵn cho bạn trong một lớp học? . Thành phần hợp đồng của Laravel là tập hợp các giao diện cho tất cả các API khác nhau mà Framework cung cấp cho người dùngRàng buộc giao diện được định cấu hình trướcBất kỳ lớp cụ thể nào cũng có thể triển khai bất kỳ giao diện nào nó thích miễn là nó tuân thủ hợp đồng. Vậy làm cách nào để biết chúng tôi sẽ nhận được triển khai nào khi yêu cầu một giao diện cụ thể? . Chúng ta có thể tìm thấy ánh xạ trong registerCoreContainerAliases()
Trong phương thức này, tất cả các bí danh mặc định và ánh xạ của chúng được khai báo. Tất cả điều này quay trở lại khái niệm đặt các lớp vào vùng chứa và giải quyết các đối tượng ra khỏi vùng chứa dịch vụ, còn được gọi là vùng chứa IoC. Đó là nhờ bộ chứa dịch vụ và ánh xạ bí danh mà bạn có thể thực hiện những việc như sau, trên thực tế, tất cả đều chính xác giống nhau 2Bây giờ, đây là một ví dụ về hành vi chúng tôi nhận được cho lớp định tuyến tích hợp của Laravel. Ngoài tất cả tính linh hoạt và đường cú pháp này, lợi ích to lớn khác của tất cả các hợp đồng này là bạn có thể dễ dàng hoán đổi việc triển khai mặc định bằng một thứ khác. Cá nhân tôi, cho đến nay tôi không có lý do gì để cần phải làm điều này. Nếu bạn gặp tình huống trong đó một yêu cầu cụ thể của dự án yêu cầu sử dụng một lớp cụ thể hoặc triển khai một thành phần, thì bạn không gặp may. Bạn vẫn có thể sử dụng Laravel, bạn chỉ cần đăng ký thành phần hoặc lớp của riêng mình vào vùng chứa dịch vụ. Sau đó, khi bạn yêu cầu giao diện đó trong mã của mình, bạn sẽ nhận được cách triển khai chính xác. Đây là nơi bạn có thể tìm hiểu thêm về Laravel Service Container. Hãy xem xét thêm một chút về cách thức hoạt động của nó Đăng ký với Bộ chứa dịch vụ (Đặt các lớp vào bộ chứa)Bạn sẽ thường nghe thấy cụm từ “đăng ký vào bộ chứa dịch vụ” hoặc “liên kết vào bộ chứa dịch vụ”. Khi tôi nghe điều này, tôi chỉ đơn giản nghĩ rằng “Làm cho các lớp có sẵn cho ứng dụng thông qua bộ chứa dịch vụ”. Hãy nghĩ về vùng chứa dịch vụ như một hoạt động hai chiều. Chúng tôi đăng ký hoặc đặt các lớp vào vùng chứa dịch vụ và sau đó chúng tôi có thể giải quyết hoặc lấy ra khỏi vùng chứa dịch vụ một đối tượng hoặc thể hiện của bất kỳ lớp đã đăng ký nào mà chúng tôi có thể muốn sử dụng. Điều này thường xảy ra với phương thức register() của nhà cung cấp dịch vụ. Ví dụ, đây là đăng ký thành phần Cache của Laravel 6Chúng ta có thể thấy rằng đó là phương thức singleton() thực hiện công việc cho chúng ta. Điều này hầu như giống như khi bạn gọi phương thức bind(). Sự khác biệt giữa hai loại này là mẫu đơn sẽ cung cấp cho nhà phát triển một phiên bản dùng chung của đối tượng mọi lúc. Một đối tượng mới không được tạo mỗi lần. Bây giờ trong đoạn mã trên, có một số tùy chọn cho các phím khác nhau. Đó là 22, 23 và 24. Cái nào được giải quyết tùy thuộc vào cấu hình của ứng dụng. Khi một yêu cầu được thực hiện với một trong các khóa đó, thì đó là lần đóng sẽ trả về một thể hiện của lớp đã choĐây là phương thức singleton() là một phần của lớp Container 0Phương thức này thực sự sử dụng phương thức bind(), nhưng nó đặt tham số thứ ba thành 25, cho biết đây là một phiên bản dùng chung. Đây là phương thức bind() 2Đọc các bình luận để hiểu làm thế nào nó hoạt động Resolve Out of The Service Container (Đưa đối tượng ra khỏi container)Giải quyết các đối tượng ra khỏi vùng chứa dịch vụ chỉ đơn giản có nghĩa là khi bạn sử dụng một thành phần hoặc đối tượng trong mã ứng dụng của mình, thì vùng chứa dịch vụ đó sẽ xử lý việc xây dựng bất kỳ phụ thuộc và yêu cầu nào cần thiết để bàn giao một đối tượng sẵn sàng thực hiện. . Đó là một sự thuận tiện cho nhà phát triển và hầu hết xảy ra mà bạn không nhận ra điều đó Xem xét hàm trợ giúp 26 gọi phương thức 27 trên lớp ứng dụng 5Đây là phương pháp 27 mà nó trì hoãn 7Một lần nữa, các bình luận giúp chúng tôi hiểu những gì đang xảy ra. Cuối cùng, công việc đang được thực hiện bằng phương thức make() của Vùng chứa, là ứng dụng gốc. Đây là phương thức make() 8Chúng ta có thể thấy rằng sau khi tất cả logic của phương thức này diễn ra, cuối cùng chúng ta cũng được trả về một Đối tượng. Chính đối tượng này là một thể hiện của bất kỳ thứ gì bạn yêu cầu trong mã ứng dụng của mình. Nói cách khác, tùy thuộc vào khóa bạn yêu cầu, bạn sẽ nhận được (Đối tượng. Dịch vụ. thành phần) trở lại Một điều cần lưu ý trong phương thức 27 của lớp Ứng dụng là nó sử dụng phương thức 60. Đây là cách bạn có thể chuyển khóa, bí danh, lớp hoặc hợp đồng cho phương thức 26 và khung biết cách giải quyết mọi thứ một cách chính xác. Đây chính là phương pháp đó 2Chúng ta có thể thấy nó sử dụng toán tử bậc ba thuận tiện để kiểm tra xem đã có bí danh nào được đăng ký chưa và nếu có, chỉ cần trả lại bí danh đó. Nếu không, chúng tôi trả về giá trị của biến $abstract rất có thể là khóa. Đây là cách hợp đồng hoặc giao diện sẽ được chuẩn hóa thành khóa bí danh tiêu chuẩn. Nói cách khác, nếu bạn chuyển một cái gì đó như Illuminate\Contracts\Routing\Registrar, phần mềm có thể dịch cái này thành khóa của bộ định tuyến Bí danh và hợp đồng của Laravel Tóm tắtTrong hướng dẫn này, chúng ta đã xem xét kỹ hơn về thành phần bí danh và hợp đồng của Laravel. Chúng tôi nhận thấy rằng bản thân các giao diện đóng vai trò là tài liệu tuyệt vời để giúp nhà phát triển khám phá api được hiển thị bởi bất kỳ lớp khung công tác cụ thể nào. Chúng tôi cũng tìm hiểu về cách khởi tạo các đối tượng thông qua bộ chứa dịch vụ, có rất nhiều sự linh hoạt trong cách thực hiện điều đó. Bằng cách xem xét kỹ cách thức hoạt động của tất cả những thứ này, chúng ta có thể thấy các lớp Container và Application thực sự là thịt và khoai tây của Laravel như thế nào. Chúng tôi đăng ký các lớp vào bộ chứa dịch vụ và tìm nạp các đối tượng ra khỏi nó khi cần. Đây là nền tảng chính về cách thức hoạt động của Laravel Mặt tiền trong Laravel 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.
Làm cách nào để tạo mặt tiền trong Laravel?Cách tạo Mặt tiền . Bước 1 - Tạo tệp lớp PHP Bước 2 - Liên kết lớp đó với Nhà cung cấp dịch vụ Bước 3 - Đăng ký ServiceProvider đó với. Cấu hình\ứng dụng. php là nhà cung cấp Bước 4 - Tạo Lớp mà lớp này mở rộng thành. chiếu sáng\Hỗ trợ\Mặt tiền\Mặt tiền Bước 5 - Đăng ký điểm 4 vào Config\app. php làm bí danh |