
Custom Bundles
การสร้าง bundle, การกำหนดค่า extension, compiler pass, bundle ที่นำกลับมาใช้ใหม่ได้, แนวทางปฏิบัติที่ดีที่สุด
1ใน Symfony คลาสหลักของ bundle ต้อง extend คลาสใด?
ใน Symfony คลาสหลักของ bundle ต้อง extend คลาสใด?
คำตอบ
คลาสหลักของ bundle ใน Symfony ต้อง extend AbstractBundle (Symfony 6.1+) หรือ Bundle โดยแนะนำให้ใช้ AbstractBundle เพราะช่วยให้การกำหนดค่าง่ายขึ้นและสามารถกำหนดค่าได้โดยตรงในคลาส bundle ผ่านเมธอด configure() ส่วน Bundle ยังคงใช้ได้เพื่อความเข้ากันได้ย้อนหลังแต่ AbstractBundle ให้ API ที่ทันสมัยกว่า
2บทบาทของคลาส Extension ใน bundle ของ Symfony คืออะไร?
บทบาทของคลาส Extension ใน bundle ของ Symfony คืออะไร?
คำตอบ
คลาส Extension (ที่สืบทอดจาก ConfigurableExtension หรือ Extension) มีหน้าที่โหลดการกำหนดค่าของ bundle และลงทะเบียน service ใน container โดยจะอ่านไฟล์การกำหนดค่าของ bundle ประมวลผลพารามิเตอร์ของแอปพลิเคชัน และกำหนดค่า service ผ่าน ContainerBuilder คลาสนี้จะ implement เมธอด load() ซึ่งจะถูกเรียกระหว่างการคอมไพล์ container
3ข้อกำหนดการตั้งชื่อสำหรับคลาสหลักของ bundle ที่ชื่อ AcmePaymentBundle คืออะไร?
ข้อกำหนดการตั้งชื่อสำหรับคลาสหลักของ bundle ที่ชื่อ AcmePaymentBundle คืออะไร?
คำตอบ
ตามข้อกำหนดของ Symfony คลาสหลักของ bundle ต้องมีชื่อเดียวกับ bundle สำหรับ AcmePaymentBundle คลาสหลักจะเป็น AcmePaymentBundle และต้องอยู่ใน namespace ที่สอดคล้องกัน ซึ่งโดยทั่วไปคือ Acme\PaymentBundle ดังนั้นไฟล์จะเป็น AcmePaymentBundle.php ในโฟลเดอร์ src/ ของ bundle
Compiler Pass ใน Symfony คืออะไรและควรใช้เมื่อใด?
จะกำหนดการกำหนดค่าเชิงความหมาย (semantic configuration) สำหรับ bundle พร้อมการตรวจสอบพารามิเตอร์ได้อย่างไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Symfony อื่นๆ
PHP สมัยใหม่ (8.1+)
พื้นฐาน Symfony
Routing & Controllers
Twig & Templates
พื้นฐาน Doctrine ORM
ฟอร์ม Symfony
การตรวจสอบความถูกต้องของข้อมูล
Dependency Injection & Services
Security & Authentication
Doctrine ขั้นสูง
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache & ประสิทธิภาพ
Workflow Component
Testing Symfony
Mailer Component
การแปลและ i18n
EasyAdmin Bundle
สถาปัตยกรรม Symfony
ประสิทธิภาพและการเพิ่มประสิทธิภาพ
ความปลอดภัยขั้นสูง
Microservices ด้วย Symfony
Real-time & WebSockets
Deployment & DevOps
เชี่ยวชาญ Symfony สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี