Symfony

Custom Bundle

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
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.

4

Compiler Pass trong Symfony là gì và khi nào nên sử dụng nó?

5

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ố?

+17 câu hỏi phỏng vấn

Nắm vững Symfony cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí