У меня есть приложение с пользовательским фреймворком, оно очень старое 7 лет назад с использованием старых методов и шаблонов проектирования.
Мы сталкиваемся с проблемами.
Мы используем DAO Layer для доступа к объектам Data, и в связи с тем, что бизнес нуждается в усложнении, и DAO больше не в состоянии обслуживать бизнес-потребности, мы думаем использовать Symmfony2 и Doctrine2.
Но проблема в следующем:
ПРИЛОЖЕНИЕ ДЕЙСТВИТЕЛЬНО БОЛЬШОЕ.
Более 7 лет разработки и добавления функций.
Около 11.500 файлов и файлов Avg 1500 Line.
Я знаю, что это нелегкая работа, но я уверен, что сейчас есть способ перенести или, по крайней мере, использовать Doctrine, не затрагивая устаревший код.
Пожалуйста посоветуй.
Спасибо.
Нет простого ответа на ваши проблемы. Работать с устаревшим кодом всегда сложно.
Вы должны обернуть Symfony вокруг вашего приложения, если это возможно. Реализуйте шаблон Command или Facade вокруг своего приложения и заставьте контроллеры Symfony вызывать эти классы.
Попробуйте разделить уровни доступа DAO с помощью шаблона репозитория. Не репозитории Doctrine, а пользовательские, специфичные для вашего приложения. Когда у вас есть репозитории, отделенные интерфейсами от вашего приложения, вы можете выполнять их доктрины по одному.
Стоит подумать о том, чтобы отделить ваше приложение от Symfony, чтобы вы не столкнулись с подобными проблемами в будущем.
Кроме того, если вы можете, постарайтесь написать как можно больше тестов, это значительно упростит вам рефакторинг в будущем.
Я написал пост в блоге с некоторыми советами о том, как отделить от фреймворка Вот. Тот же шаблон применяется для хранилищ.
Других решений пока нет …