# Custom Bundle (Symfony) > Tạo bundle, cấu hình extension, compiler pass, bundle có thể tái sử dụng, các phương pháp hay nhất - 20 câu hỏi phỏng vấn - Senior - [Câu hỏi phỏng vấn: Symfony](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van.md) ## 1. Trong Symfony, class chính của bundle phải kế thừa class nào? **Câu trả lời** Class chính của bundle Symfony phải kế thừa AbstractBundle (Symfony 6.1+) hoặc Bundle. AbstractBundle được khuyến nghị vì nó đơn giản hóa việc cấu hình và cho phép định nghĩa cấu hình trực tiếp trong class bundle thông qua method configure(). Bundle vẫn khả dụng để tương thích ngược nhưng AbstractBundle cung cấp API hiện đại hơn. ## 2. Vai trò của class Extension trong một bundle Symfony là gì? **Câu trả lời** Class Extension (kế thừa ConfigurableExtension hoặc Extension) chịu trách nhiệm tải cấu hình của bundle và đăng ký các service vào container. Nó đọc các file cấu hình của bundle, xử lý các tham số của ứng dụng và cấu hình các service thông qua ContainerBuilder. Nó triển khai method load() được gọi trong quá trình biên dịch container. ## 3. Quy ước đặt tên cho class chính của một bundle có tên AcmePaymentBundle là gì? **Câu trả lời** Theo quy ước của Symfony, class chính của bundle phải có cùng tên với bundle. Đối với AcmePaymentBundle, class chính sẽ là AcmePaymentBundle và phải nằm trong namespace tương ứng, thường là Acme\PaymentBundle. Do đó, file sẽ là AcmePaymentBundle.php trong thư mục src/ của bundle. ## Còn 17 câu hỏi nữa - Compiler Pass trong Symfony là gì và khi nào nên sử dụng nó? - Làm thế nào để định nghĩa cấu hình ngữ nghĩa cho một bundle với việc xác thực tham số? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Symfony khác - [PHP Hiện Đại (8.1+)](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/php-modern-features.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về Symfony](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/symfony-basics.md): 25 câu hỏi, Junior - [Routing & Controllers](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/routing-controllers.md): 20 câu hỏi, Junior - [Twig & Templates](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/twig-templates.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về Doctrine ORM](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/doctrine-orm-basics.md): 25 câu hỏi, Junior - [Biểu mẫu Symfony](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/forms.md): 22 câu hỏi, Junior - [Xác thực dữ liệu](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/validation.md): 18 câu hỏi, Junior - [Dependency Injection & Services](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/dependency-injection.md): 24 câu hỏi, Mid-Level - [Security & Authentication](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/security-authentication.md): 26 câu hỏi, Mid-Level - [Doctrine Nâng cao](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/doctrine-advanced.md): 24 câu hỏi, Mid-Level - [API Platform](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/api-platform.md): 22 câu hỏi, Mid-Level - [Serializer Component](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/serializer.md): 20 câu hỏi, Mid-Level - [Events & Event Subscribers](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/events-subscribers.md): 20 câu hỏi, Mid-Level - [Console & Commands](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/console-commands.md): 18 câu hỏi, Mid-Level - [Messenger Component](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/messenger.md): 22 câu hỏi, Mid-Level - [HTTP Client](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/http-client.md): 18 câu hỏi, Mid-Level - [Cache & Hiệu năng](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/cache.md): 20 câu hỏi, Mid-Level - [Workflow Component](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/workflow.md): 18 câu hỏi, Mid-Level - [Testing Symfony](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/testing.md): 22 câu hỏi, Mid-Level - [Mailer Component](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/mailer.md): 16 câu hỏi, Mid-Level - [Bản dịch & i18n](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/translations.md): 16 câu hỏi, Mid-Level - [EasyAdmin Bundle](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/easyadmin.md): 18 câu hỏi, Mid-Level - [Kiến trúc Symfony](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/architecture-patterns.md): 24 câu hỏi, Senior - [Hiệu năng & Tối ưu hóa](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/performance-optimization.md): 22 câu hỏi, Senior - [Bảo mật nâng cao](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/security-advanced.md): 22 câu hỏi, Senior - [Microservices với Symfony](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/microservices.md): 22 câu hỏi, Senior - [Real-time & WebSockets](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/real-time.md): 18 câu hỏi, Senior - [Deployment & DevOps](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/deployment-devops.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/custom-bundles