Tôi đồng ý với @Gordon rằng điều này nghe giống như một đối tượng kinh doanh. Nhưng nếu bạn chắc chắn rằng nó không phải là, bước tiếp theo của bạn là để tìm ra cách bạn sẽ phân loại nó. Nó là một người trợ giúp? Một người nghe sự kiện? Một lớp tiện ích? Khi bạn tìm ra điều đó, hãy tự hỏi: liệu nó có phù hợp với một gói hay bạn sẽ sử dụng lại nó giữa các dự án?
Giả sử bạn quyết định đó là trình xử lý sự kiện và thuộc về nhóm. Đặt nó trong MyBundle/EventListener
. Nếu đó là người trợ giúp, hãy đặt nó trong MyBundle/Helper
. Bây giờ nếu bạn có kế hoạch tái sử dụng nó amonst dự án (mà trong trường hợp này nó thực sự không có âm thanh như nó, nhưng chịu với tôi ...) bạn có thể tốt hơn off tạo ra một nơi trong vendor
cho nó.
Điều quan trọng cần nhớ là vì Symfony2 còn quá trẻ, thực sự không có danh sách thực hành tốt nhất để trả lời các câu hỏi như thế này. Ngay bây giờ nó là loại của chúng tôi để xem những gì làm việc, và những gì không. Nó giống như phía tây hoang dã :)
Nguồn
2011-09-06 23:25:37
Còn trong trường hợp không phải là đối tượng kinh doanh. Nói rằng tôi có lớp 'breadcrumb', với hai tên 'thành viên' và 'href'? –
@Robert Tôi không biết Symfony và Twig sẽ đặt ở đâu. Tôi vẫn đặt nó vào mô hình, mặc dù không phải bên trong lớp Domain, nhưng lớp ứng dụng chung vì nó là một phần của giao diện người dùng. Hoặc, nếu nó có thể tái sử dụng, tôi sẽ đặt nó vào một số loại thư mục framework/lib – Gordon