В настоящее время я работаю над устаревшим PHP-приложением. Чтобы дать вам представление о том, что такое приложение:Должны ли мы переписать устаревшее приложение php в рамках?
- Бэкэнд - около 14 000 мест. Интерфейс составляет около 3000 LOC.
- Каждый url - это php-скрипт, без использования классов.
- Каждый из этих сценариев php имеет связанный с ним шаблон smarty.
- Он использует плагины формирования формы PEAR.
- Frontend предлагается на двух языках. Это делается путем дублирования php-скриптов + шаблонов.
- Это не соответствует многим лучшим практикам, таким как экранирование всех параметров sql, перенаправление на запрос на отправку, установка скриптов php из веб-корня, защита XSS, защита CRSF.
- Приложение имеет двух основных разработчиков, я работаю над этим временно, чтобы помочь.
- Приложение используется несколькими клиентами. Каждый из них может иметь слегка измененную версию.
Скажем, у вас было две недели, что бы вы сделали, чтобы исправить это заявление? Есть ли какие-либо рамки, которые вы рекомендовали бы, особенно хорошо работающие с этим типом приложения, и которые можно вводить постепенно?
Я думал, что, может быть, начните с введения ORM, чтобы избавиться от SQL-инъекции и улучшить код спагетти для создания SQL-запросов.
EDIT 1:: Поскольку люди, похоже, много говорят о проблеме SCM. Я использую git, чтобы отслеживать свои локальные изменения. Я работаю над этим приложением временно, поэтому я не могу сказать другим разработчикам, какие инструменты использовать. Кроме того, это был не вопрос.
EDIT 2: Причина, по которой я рассматривал основы был) другой разработчик поднес б) было бы дать проекту более жесткую структуру, поэтому ошибки (например, ЧСФР) более легко избежать в будущее.
Что не удается? Что нужно исправить? SQL-инъекции? Кодировка вывода? – hakre
Это небезопасно и имеет код спагетти. – Maarten
Когда я читаю это, мне интересно, что вы можете сохранить что-то вроде этого живого ^^ Я не думаю, что вы можете переписать его через две недели, но я настоятельно рекомендую делать _something_ – KingCrunch