Laravel

Service Container & DI

Dependency injection, service providers, binding, singletons, contextual binding, phân giải container, facades

20 câu hỏi phỏng vấn·
Mid-Level
1

Service Container trong Laravel là gì?

Câu trả lời

Service Container là một công cụ mạnh mẽ để quản lý dependency của class và thực hiện dependency injection. Nó tự động phân giải các dependency bằng cách kiểm tra type-hint của constructor. Sử dụng Service Container cải thiện khả năng kiểm thử và sự tách rời bằng cách tránh khởi tạo dependency trực tiếp.

2

Lợi ích chính của dependency injection so với việc khởi tạo trực tiếp là gì?

Câu trả lời

Dependency injection cải thiện khả năng kiểm thử bằng cách cho phép dễ dàng thay thế các dependency bằng mock hoặc stub trong quá trình test. Nó cũng thúc đẩy sự tách rời bằng cách ngăn các class bị ràng buộc chặt chẽ với các dependency cụ thể. Điều này giúp code dễ bảo trì và linh hoạt hơn trước các thay đổi.

3

Làm thế nào để inject một dependency vào constructor của controller Laravel?

Câu trả lời

Thêm type-hint cho dependency vào constructor cho phép Service Container tự động phân giải dependency này. Laravel kiểm tra các tham số của constructor và inject các instance phù hợp mà không cần cấu hình thêm. Cách tiếp cận này là đơn giản và phổ biến nhất cho dependency injection trong controller.

4

Sự khác biệt giữa bind() và singleton() trong Service Container là gì?

5

Phương thức app()->make(UserRepository::class) làm gì?

+17 câu hỏi phỏng vấn

Nắm vững Laravel cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí