Tiêm phụ thuộc php là gì?
Dependency Injection là một mẫu thiết kế phần mềm cho phép tránh các phụ thuộc mã hóa cứng và có thể thay đổi các phụ thuộc cả trong thời gian chạy và thời gian biên dịch Show 2014 Tháng một, 06 lập trình 4 phút đọc Thẻ. web dev php tiêm phụ thuộc mẫu thiết kế lập trình Dependency Injection là một mẫu thiết kế phần mềm cho phép tránh các phụ thuộc mã hóa cứng và có thể thay đổi các phụ thuộc cả trong thời gian chạy và thời gian biên dịch Bằng cách sử dụng Dependency Injection, chúng tôi có thể viết mã mô-đun, có thể bảo trì và kiểm tra được nhiều hơn. Tất cả các dự án đều có sự phụ thuộc. Dự án càng lớn thì càng có nhiều phụ thuộc; Dependency Injection không phải là một mẫu mới và nó đã được sử dụng phổ biến trên nhiều ngôn ngữ như Java, nhưng mẫu này hơi mới trong thế giới PHP và nó nhanh chóng đạt được sức hút nhờ các khung như laravel Trước tiên, hãy minh họa các khái niệm này bằng cách tạo một cặp lớp mà không có phép nội xạ phụ thuộc, sau đó viết lại mã để sử dụng mẫu nội xạ phụ thuộc; Thoạt nhìn, mã trông khá bình thường và đó là thứ mà nhiều nhà phát triển PHP gọi là mã tốt, tuy nhiên nếu chúng ta xem xét kỹ hơn bằng cách sử dụng S. O. L. I. Nguyên tắc D chúng ta có thể thấy rằng mã thực sự có nhiều vấn đề
Hãy tiêm một cái gì đóMặt khác, bằng cách sử dụng phép nội xạ phụ thuộc, chúng ta có thể khắc phục hầu hết các sự cố này, hãy lấy cùng một đoạn mã nhưng sử dụng phép nội xạ phụ thuộc Xây dựng tiêmBằng cách sử dụng phép nội xạ phụ thuộc, chúng ta có mã dễ bảo trì hơn, trong ví dụ trước, chúng ta đang sử dụng một loại phép nội xạ phụ thuộc thường được gọi là Constructor Injection. Bằng cách thực hiện một thay đổi đơn giản, chúng tôi có thể giảm mức độ phức tạp của mã và cải thiện chất lượng tổng thể; Tiêm cấu trúc cho đến nay là phương pháp phổ biến nhất được sử dụng và có một số lợi thế bằng cách sử dụng loại tiêm đặc biệt này
Hai điểm này làm cho Constructor Injection cực kỳ hữu ích, tuy nhiên cũng có một vài nhược điểm khiến nó không phù hợp với mọi tình huống.
Tiêm SetterMột kiểu tiêm phụ thuộc phổ biến khác được gọi là tiêm setter và mã giống như trên sẽ giống như thế này Như chúng ta có thể thấy, với Setter Injection, các phụ thuộc được cung cấp cho lớp của chúng ta sau khi nó được khởi tạo bằng các phương thức setter. Setter Injection có một vài ưu điểm
Setter Injection có thể phù hợp hơn cho các tình huống cần linh hoạt hơn Vì vậy, Dependency Injection có phù hợp với ứng dụng của tôi không?Vào cuối ngày, mỗi nhà phát triển phải đưa ra quyết định về mẫu thiết kế nào phù hợp với ứng dụng của mình, có thể là Dependency Injection hay thứ gì khác; Nhưng nếu bạn đang làm việc trên một dự án lớn và chạy dài, thì rất có thể việc tiêm phụ thuộc có thể là giải pháp phù hợp cho dự án của bạn PHP có tiêm phụ thuộc không?Các phần phụ thuộc có thể được thay đổi trong thời gian chạy cũng như thời gian biên dịch. Chúng ta có thể sử dụng Dependency Injection để viết mã mô-đun, có thể kiểm tra và bảo trì . mô-đun. Dependency Injection giúp tạo các lớp hoặc mô-đun hoàn toàn tự cung cấp. có thể kiểm tra. Nó giúp viết mã có thể kiểm tra dễ dàng, ví dụ như kiểm tra đơn vị chẳng hạn.
Điều gì có nghĩa là tiêm phụ thuộc?Trong thiết kế phần mềm lập trình hướng đối tượng (OOP), phép nội xạ phụ thuộc (DI) là quá trình cung cấp tài nguyên mà một đoạn mã nhất định yêu cầu. The required resource, which is often a component of the application itself, is called a dependency.
Ưu điểm của tiêm phụ thuộc trong PHP là gì?Điều này cung cấp cho nhà phát triển quyền tự do tạo đối tượng máy tính với các thành phần khác nhau mà không phải mở rộng lớp và ghi đè hàm tạo . Đôi khi điều này còn được gọi là đảo ngược kiểm soát.
Ba loại tiêm phụ thuộc là gì?Vào mùa xuân, có ít nhất ba cách thực hiện DI. XML , chú thích, mã Java thuần túy. Angular có cơ chế DI riêng bằng cách sử dụng trình trang trí @Injectable. ASP. NET Core thực hiện điều đó thông qua bộ chứa dịch vụ tích hợp sẵn của nó, IServiceProvider Google Guice sử dụng chú thích hàm tạo @Inject |