
Service Container & DI
Dependency injection, service providers, binding, singletons, contextual binding, phân giải container, facades
1Service Container trong Laravel là gì?
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.
2Lợi ích chính của dependency injection so với việc khởi tạo trực tiếp là gì?
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.
3Làm thế nào để inject một dependency vào constructor của controller Laravel?
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.
Sự khác biệt giữa bind() và singleton() trong Service Container là gì?
Phương thức app()->make(UserRepository::class) làm gì?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Laravel khác
Cơ bản về PHP
Kiến thức cơ bản về OOP trong PHP
Composer & Autoloading
Kiến thức cơ bản về Laravel
Routing trong Laravel
Blade Templates
Request & Response
Kiến thức cơ bản về Eloquent ORM
Eloquent Relationships
Migrations & Schema Builder
Xác thực và Form
Xác thực
Phân quyền và Policies
API Resources & Authentication
Middleware
Queues & Jobs
Events & Listeners
Thông báo & Mail
File Storage
Testing & PHPUnit
Caching
Livewire & Inertia
Eloquent Advanced
Repository Pattern
Laravel Packages
Performance Optimization
Security Best Practices
Laravel Octane
Laravel Distributed Systems
Observability & Monitoring
Deployment & DevOps
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í