Trước hết, bạn đã hỏi liệu họ có cho phép bạn cấu trúc lại ứng dụng không? Bạn có thể xây dựng một trường hợp kinh doanh dựa trên:
- Khả năng duy trì phần mềm đi về phía trước với chi phí thấp
- Nó sẽ được dễ dàng hơn để giới thiệu các nhà phát triển khác để dự án
- Nó sẽ được dễ dàng hơn để thêm các tính năng mới
Một yếu tố đầy đủ có thể không phức tạp hoặc tốn thời gian như bạn hình dung, và nó có thể được thực hiện song song trong khi vẫn duy trì ứng dụng cũ.
Bây giờ, làm những gì bạn đề xuất phức tạp hơn một chút. Bạn phải xem xét những điều sau:
- Có thể sử dụng ORM trên cấu trúc cơ sở dữ liệu hiện có phụ thuộc vào cấu trúc của thiết kế.
- Rất nhiều mã php4 sẽ không hoạt động trên php5 và bạn có thể sẽ thay đổi một số lượng đáng kể mã, giới thiệu lỗi, v.v.
- Một số mã tùy chỉnh sẽ được yêu cầu để tích hợp phiên trên cả hai cơ sở mã .
Nếu các điểm trên không phải là vấn đề, bạn có thể loại bỏ cấu trúc php4 vào thư mục web để chúng có thể được truy cập trực tiếp và bắt đầu thay thế từng tuyến một khi bạn xây dựng từng màn hình Symfony.
Những đề xuất này rất theo ngữ cảnh. Nó thực sự phụ thuộc vào mức độ phức tạp của ứng dụng của bạn, và nó thực sự lộn xộn như thế nào.
Chúc may mắn tho!
Áp dụng [quy tắc boyscout] (http://programmer.97things.oreilly.com/wiki/index.php/The_Boy_Scout_Rule)? Sau đó, một lần nữa, nếu bạn không được phép để refactor toàn bộ điều, tại sao bạn? –
Tôi là một trinh sát đại bàng bản thân mình :-) Tôi nghĩ rằng các vấn đề đang làm chậm phát triển tính năng. Rõ ràng về lâu dài, tính năng phát triển trên cơ sở mã spaghetti trở nên chậm hơn và chậm hơn, nhưng bạn biết các loại quản lý này. Họ không thấy bất kỳ sự khác biệt nào về front-end, vậy tại sao lại dành thời gian cho cơ sở hạ tầng? ;-) – Clint
Nếu bạn thực sự quan tâm, hãy phát triển lại trang web ở bên cạnh trong thời gian rảnh và sau đó chỉ trình bày nó một ngày. – DampeS8N