Tôi muốn tạo một số gói Symfony2 có thể sử dụng lại trên các dự án khác nhau, nhưng các thực thể cũng có thể dễ dàng mở rộng nếu cần.Tạo các gói di động với các thực thể mở rộng trong Symfony2
Ví dụ có thể là UserBundle có thể tái sử dụng, chứa một thực thể Người dùng có tất cả ánh xạ ORM được xác định. Tuy nhiên, trong ứng dụng của tôi, tôi có thể muốn mở rộng thực thể này và thêm các cột bổ sung, các liên kết hoặc ghi đè một số ánh xạ của cha mẹ.
Giải pháp gần nhất tôi có thể tìm thấy là các lớp siêu ánh xạ của Doctrine2, nhưng sau đó tôi sẽ mất khả năng cắm và chạy của gói có thể tái sử dụng, tôi luôn phải mở rộng lớp phủ bản đồ trong ứng dụng ngay cả khi tôi không ' Tôi muốn sửa đổi ánh xạ.
Các kế hoạch thừa kế tài liệu khác yêu cầu sửa đổi ánh xạ của cha mẹ, và sau đó UserBundle của tôi sẽ không được di động nữa trên các dự án.
Có cách nào để xác định thực thể hoàn toàn làm việc trong một gói và vẫn mở rộng trong một gói khác không?
+1 Tôi đã rút ra kết luận tương tự như bạn, bạn đã bao giờ tìm ra một giải pháp? – Steve
Không, có vẻ như không thể với các mô hình kế thừa hiện tại trong Doctrine. – Gerry
Bất kỳ tin tức nào về vấn đề này? Tôi đã đấu tranh với giới hạn này rất nhiều lần mà tôi tự hỏi nếu một sửa chữa thực sự sẽ được ban hành ở tất cả. Đẻ bó chỉ để thêm một trường trong ánh xạ thực thể đang cũ. –