
Користувацькі бандли
Створення бандлів, конфігурація extension, compiler passes, повторно використовувані бандли, найкращі практики
1Який клас має розширювати головний клас бандла в Symfony?
Який клас має розширювати головний клас бандла в Symfony?
Відповідь
Головний клас бандла Symfony має розширювати AbstractBundle (Symfony 6.1+) або Bundle. AbstractBundle рекомендується, оскільки спрощує конфігурацію та дозволяє визначати конфігурацію безпосередньо в класі бандла через метод configure(). Bundle залишається доступним для зворотної сумісності, але AbstractBundle пропонує сучасніший API.
2Яка роль класу Extension у бандлі Symfony?
Яка роль класу Extension у бандлі Symfony?
Відповідь
Клас Extension (що розширює ConfigurableExtension або Extension) відповідає за завантаження конфігурації бандла та реєстрацію сервісів у контейнері. Він читає файли конфігурації бандла, обробляє параметри застосунку та налаштовує сервіси через ContainerBuilder. Він реалізує метод load(), який викликається під час компіляції контейнера.
3Яка конвенція іменування для головного класу бандла з назвою AcmePaymentBundle?
Яка конвенція іменування для головного класу бандла з назвою AcmePaymentBundle?
Відповідь
За конвенцією Symfony головний клас бандла повинен мати таку саму назву, як і бандл. Для AcmePaymentBundle головним класом буде AcmePaymentBundle, і він має знаходитися у відповідному просторі імен, зазвичай Acme\PaymentBundle. Тому файл буде AcmePaymentBundle.php у папці src/ бандла.
Що таке Compiler Pass у Symfony і коли його використовувати?
Як визначити семантичну конфігурацію для бандла з перевіркою параметрів?
+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 та симуляторів співбесід.
Почни безкоштовно