Symfony — Как лучше всего модернизировать или реорганизовать устаревшее PHP-приложение?

Я столкнулся с проблемой рефакторинга и добавления новых функций в устаревшее PHP-веб-«приложение», оно состоит из около 788 php-скриптов, которые не имеют структуры папок, они в основном являются скриптами, которые содержат JavaScript, PHP, HTML и CSS-код в одном и том же файле, сценарии сохраняются и используют данные из 3 разных типов баз данных, MSSQL, MYSQL и DB2, там аутентификация основана на сеансах, в основном это базовый php, а также есть несколько страниц, использующих чистый html и ajax для связи с php-скриптами, разумеется, нет определений классов, по большей части даже не функций.

Моя цель состоит в том, чтобы перевести это в более поддерживаемое приложение, скорее всего, с использованием компонентов Symfony, с которыми я знаком, представить абстракцию HTTP-запросов, маршрутизацию и, если возможно, MVC, а также преобразовать код в пригодные для использования классы и реализовать автоматическую загрузку с использованием composer, чтобы воспользоваться сторонних библиотек.

Честно говоря, единственный вариант, на мой взгляд, состоит в том, чтобы бросить все это и начать новый проект.

0

Решение

Даже если переписать все кажется лучшей идеей, иногда это не лучший выбор для бизнеса и может быть довольно сложно для огромной базы кода.

Одним из решений может быть внедрение проекта Symfony и запуск модуля рефакторинга за модулем, но в основном вы столкнетесь со следующими проблемами:

  • Интеграция с веб-сервером: как запустить приложение Symfony вместе с устаревшим приложением (например, с пользовательским расположением nginx)
  • Совместное использование сеанса между двумя приложениями, но Symfony уже есть, что объединить устаревшее приложение с сессиями Symfony,
  • Иметь последовательный веб-дизайн, который много работает, но не что-то технически сложное
  • Я думаю, что многие другие проблемы
1

Другие решения

Я думаю, что упаковка вашего старого приложения в контроллер Symfony может быть хорошим решением.

https://www.youtube.com/watch?v=WbBf4p4FcqA&т = 348s

https://stovepipe.systems/post/migrating-your-project-to-symfony

Так что вы

  • сохранить работающий устаревший код приложения
  • Вы можете написать функциональные тесты
  • реализовать новые функции или перенести часть своего старого кода в Symfony
0

По вопросам рекламы [email protected]