Symfony

Custom Bundles

การสร้าง bundle, การกำหนดค่า extension, compiler pass, bundle ที่นำกลับมาใช้ใหม่ได้, แนวทางปฏิบัติที่ดีที่สุด

20 คำถามสัมภาษณ์·
Senior
1

ใน Symfony คลาสหลักของ bundle ต้อง extend คลาสใด?

คำตอบ

คลาสหลักของ bundle ใน Symfony ต้อง extend AbstractBundle (Symfony 6.1+) หรือ Bundle โดยแนะนำให้ใช้ AbstractBundle เพราะช่วยให้การกำหนดค่าง่ายขึ้นและสามารถกำหนดค่าได้โดยตรงในคลาส bundle ผ่านเมธอด configure() ส่วน Bundle ยังคงใช้ได้เพื่อความเข้ากันได้ย้อนหลังแต่ AbstractBundle ให้ API ที่ทันสมัยกว่า

2

บทบาทของคลาส Extension ใน bundle ของ Symfony คืออะไร?

คำตอบ

คลาส Extension (ที่สืบทอดจาก ConfigurableExtension หรือ Extension) มีหน้าที่โหลดการกำหนดค่าของ bundle และลงทะเบียน service ใน container โดยจะอ่านไฟล์การกำหนดค่าของ bundle ประมวลผลพารามิเตอร์ของแอปพลิเคชัน และกำหนดค่า service ผ่าน ContainerBuilder คลาสนี้จะ implement เมธอด load() ซึ่งจะถูกเรียกระหว่างการคอมไพล์ container

3

ข้อกำหนดการตั้งชื่อสำหรับคลาสหลักของ bundle ที่ชื่อ AcmePaymentBundle คืออะไร?

คำตอบ

ตามข้อกำหนดของ Symfony คลาสหลักของ bundle ต้องมีชื่อเดียวกับ bundle สำหรับ AcmePaymentBundle คลาสหลักจะเป็น AcmePaymentBundle และต้องอยู่ใน namespace ที่สอดคล้องกัน ซึ่งโดยทั่วไปคือ Acme\PaymentBundle ดังนั้นไฟล์จะเป็น AcmePaymentBundle.php ในโฟลเดอร์ src/ ของ bundle

4

Compiler Pass ใน Symfony คืออะไรและควรใช้เมื่อใด?

5

จะกำหนดการกำหนดค่าเชิงความหมาย (semantic configuration) สำหรับ bundle พร้อมการตรวจสอบพารามิเตอร์ได้อย่างไร?

+17 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ Symfony อื่นๆ

PHP สมัยใหม่ (8.1+)

Junior
20 คำถาม

พื้นฐาน Symfony

Junior
25 คำถาม

Routing & Controllers

Junior
20 คำถาม

Twig & Templates

Junior
20 คำถาม

พื้นฐาน Doctrine ORM

Junior
25 คำถาม

ฟอร์ม Symfony

Junior
22 คำถาม

การตรวจสอบความถูกต้องของข้อมูล

Junior
18 คำถาม

Dependency Injection & Services

Mid-Level
24 คำถาม

Security & Authentication

Mid-Level
26 คำถาม

Doctrine ขั้นสูง

Mid-Level
24 คำถาม

API Platform

Mid-Level
22 คำถาม

Serializer Component

Mid-Level
20 คำถาม

Events & Event Subscribers

Mid-Level
20 คำถาม

Console & Commands

Mid-Level
18 คำถาม

Messenger Component

Mid-Level
22 คำถาม

HTTP Client

Mid-Level
18 คำถาม

Cache & ประสิทธิภาพ

Mid-Level
20 คำถาม

Workflow Component

Mid-Level
18 คำถาม

Testing Symfony

Mid-Level
22 คำถาม

Mailer Component

Mid-Level
16 คำถาม

การแปลและ i18n

Mid-Level
16 คำถาม

EasyAdmin Bundle

Mid-Level
18 คำถาม

สถาปัตยกรรม Symfony

Senior
24 คำถาม

ประสิทธิภาพและการเพิ่มประสิทธิภาพ

Senior
22 คำถาม

ความปลอดภัยขั้นสูง

Senior
22 คำถาม

Microservices ด้วย Symfony

Senior
22 คำถาม

Real-time & WebSockets

Senior
18 คำถาม

Deployment & DevOps

Senior
20 คำถาม

เชี่ยวชาญ Symfony สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี