Tôi đang phát triển một CMS nhỏ cho công ty của mình bằng Symfony2. Tôi thực sự yêu thích khuôn khổ này. Tôi yêu các lớp mẫu và tái sử dụng chúng (tất cả là về các dạng sau khi tất cả).Symfony2 và tiếp cận DRY trong bộ điều khiển
Nhưng (có, có một "nhưng") Tôi cảm thấy như tôi đang làm công cụ tương tự, sao chép và dán trong tất cả các bộ điều khiển. Một bản sao mã mà chúng tôi ghét. Với tất cả các logic kinh doanh chuyển đến Services và các hình thức, các sự kiện, kiên trì hành động trong học thuyết, tất cả các bộ điều khiển của tôi làm điều tương tự:
- Lấy respository
$this->get('mycompany.repository.entity')
- động tạo ra các hình thức (logic là bên trong các hình thức lớp chính nó)
- Validate hình thức, trả lại xem hoặc kiên trì thực thể
- và vân vân ...
những gì tôi có nghĩa là hành động điều khiển là tất cả cùng một, chỉ cần một vài ký tự thay đổi.
Làm cách nào để có thể DRY bằng Symfony2 trong bộ điều khiển của tôi? Có lẽ điều khiển như dịch vụ (một khái niệm mà tôi phát hiện ra chỉ một vài ngày trước) có thể giúp đỡ?
EDIT: Câu hỏi có liên quan (với ý tưởng đầu tiên được đề xuất bởi Boo): Symfony2 how to redirect to an action without hardcoding route name?
Bạn có nghĩ rằng điểm 1 giống như một mẫu chiến lược? Tôi có nghĩa là lấy - xác nhận - tồn tại? – gremo
Tôi đã làm theo ý tưởng đầu tiên của bạn. Nó không đơn giản như vậy, hãy nhìn vào câu hỏi liên quan của tôi: http://stackoverflow.com/questions/9719686/symfony2-how-to-redirect-to-an-action – gremo