
Service Container & DI
Dependency injection, service providers, binding, singletons, contextual binding, การ resolve container, facades
1Service Container ใน Laravel คืออะไร?
Service Container ใน Laravel คืออะไร?
คำตอบ
Service Container เป็นเครื่องมือทรงพลังสำหรับการจัดการ dependency ของ class และการทำ dependency injection มันจะ resolve dependency โดยอัตโนมัติด้วยการตรวจสอบ type-hint ของ constructor การใช้ Service Container ช่วยเพิ่มความสามารถในการทดสอบและลดการเชื่อมโยงโดยหลีกเลี่ยงการสร้าง instance ของ dependency โดยตรง
2ข้อได้เปรียบหลักของ dependency injection เมื่อเทียบกับการสร้าง instance โดยตรงคืออะไร?
ข้อได้เปรียบหลักของ dependency injection เมื่อเทียบกับการสร้าง instance โดยตรงคืออะไร?
คำตอบ
Dependency injection ช่วยเพิ่มความสามารถในการทดสอบโดยให้สามารถแทนที่ dependency ด้วย mock หรือ stub ได้ง่ายในระหว่างการทดสอบ นอกจากนี้ยังส่งเสริมการลดการเชื่อมโยงโดยป้องกันไม่ให้ class ผูกติดแน่นกับ dependency ที่เป็นรูปธรรม ทำให้โค้ดดูแลรักษาง่ายและยืดหยุ่นต่อการเปลี่ยนแปลงมากขึ้น
3จะ inject dependency เข้าไปใน constructor ของ controller Laravel ได้อย่างไร?
จะ inject dependency เข้าไปใน constructor ของ controller Laravel ได้อย่างไร?
คำตอบ
การเพิ่ม type-hint ของ dependency ใน constructor ช่วยให้ Service Container resolve dependency นี้โดยอัตโนมัติ Laravel จะตรวจสอบพารามิเตอร์ของ constructor และ inject instance ที่เหมาะสมโดยไม่ต้องตั้งค่าเพิ่มเติม วิธีนี้เป็นวิธีที่ง่ายและพบบ่อยที่สุดสำหรับ dependency injection ใน controller
ความแตกต่างระหว่าง bind() และ singleton() ใน Service Container คืออะไร?
เมธอด app()->make(UserRepository::class) ทำอะไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Laravel อื่นๆ
พื้นฐาน PHP
พื้นฐาน OOP ใน PHP
Composer & Autoloading
พื้นฐาน Laravel
Laravel Routing
Blade Templates
Request & Response
พื้นฐาน Eloquent ORM
Eloquent Relationships
Migrations & Schema Builder
การตรวจสอบและฟอร์ม
การยืนยันตัวตน
การให้สิทธิ์และ Policies
API Resources & Authentication
Middleware
Queues & Jobs
Events & Listeners
การแจ้งเตือนและเมล
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
เชี่ยวชาญ Laravel สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี