Как исправить старый сценарий PHP стиля кодирования

Есть ли совет относительно того, как начать исправлять сценарий PHP старомодного стиля?

Несколько дней назад я получил предложение по разработке старого проекта PHP, и старомодным я подразумеваю, что структура не использовала метод кодирования ООП, и это не имеет определенной платформы.

Я смущен на том, где запустить и хотел знать что методы, там для разработки старого сценария.

Примечание: Они не хотят тратить много денег на запуске нового проекта.

Таким образом, какие методы Вы предложили бы для обновления старого сценария PHP?

6
задан gunr2171 21 July 2015 в 15:02
поделиться

6 ответов

Можете ли вы дать нам более подробно, возможно, пример.

Даже процессуальный код имеет элементы OOP в нем. Вы можете определить переменные и процедуры, которые относятся к тому же объекту. Вы могли бы перейти на него переписать, но им будет трудно найти ценность в нем, особенно если они скромные, как вы предложили.

1
ответ дан 17 December 2019 в 00:09
поделиться

Джоэл Спольский пишет:

»[Netscape ] Единая худшая стратегическая ошибка, которую может сделать любую программную компанию: они решили переписать код с нуля ».

Итак, независимо от того, какой ваш ход действий, приоритет - работать с существующим кодом. Рефакторинг будет одним из лучших методов, которые вы можете использовать.

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

3
ответ дан 17 December 2019 в 00:09
поделиться

Зависит от того, что вы имеете в виду под "старым". Старое, как написано для PHP 4? Или "старым", как не ООП? (Или и то, и другое?)

Старо как в PHP4:
Пока вы просеиваете его и либо подавляете предупреждения, либо фактически исправляете устаревшие вызовы функций, все должно быть в порядке. Это просто скучная работа. Легко и дешево.

Старо как в не ООП:
Можно теоретически разработать очень стабильное и масштабируемое приложение без ООП или определенного MVC (или другого) фреймворка. На самом деле, если приложение маленькое по масштабу, то нет причин добавлять сложность спагетти и фрикадельки ООП или фреймворка. Переписать все в ООП с помощью какого-то фреймворка сложно и дорого. И, вполне вероятно, переборщить.

2
ответ дан 17 December 2019 в 00:09
поделиться

Когда я делаю это, это многоэтапный процесс. Как правило, есть существующий продукт для продолжения работы. Перезаписи с нуля редко вариант, даже если вы закончите делать это в конечном итоге.

  • Начните Rub Manual включают в себя операторы и внедрение автозагрузчика, где это возможно (принимает много проходов)
  • Создание помощника скрипта для моделирования магических цитат и регистрирует глобал. Это так, что вы можете отключить его в PHP, сохраняя при этом существующий код
  • постепенно удалить чрезмерную полосу_слашев или добавлять вызовы add_slash, если применимо. Сценарий помощника позволяет сделать это за файл.
  • Убедитесь, что ваши переменные имеют правильную проверку
  • отделить код презентации. Рассмотрим Smarty или Alternated System Plactor
  • Переместите вызовы DB в PDO и используйте замену параметра для всего
  • , посмотрите на код и подумайте о том, чтобы посмотреть передний контроллер

Я тогда посмотрите на проект и определите, как я Я собираюсь изменить свою логику. Часто, если нет никаких функций вообще, мой первый проход состоит в том, чтобы обернуть обычное поведение в статические методы. Получите как можно больше повторностей без особых усилий, поэтому я еще не обеспокоен организацией.

После того, как резервирование уменьшается, то я добираюсь до организации. На этом этапе я начинаю планировать моменты моих классов и рефакторируя функции в чистые методы. Это также время для автоматизированных тестов (phpunit). Как только я разумно уверен, добавляю некоторые контроллеры и интегрируйте шаблоны, затем я закончил ... запретить один или два прохождения.

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

1
ответ дан 17 December 2019 в 00:09
поделиться

Возможно, ваш код прямо сейчас выглядит так alt text

И вы хотите, чтобы он выглядел так

alt text

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

0
ответ дан 17 December 2019 в 00:09
поделиться

Прочитайте их код. Поговори с ними.

Посмотрите на запрошенное изменение с точки зрения существующего кода. Поговори с ними.

Решите, как мало что вы меняете делать то, что хочется. Поговори с ними.

Сделайте это. Поговори с ними.

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

Работа с IDE, которая может помочь с рефакторингом.

0
ответ дан 17 December 2019 в 00:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: