Перейти к содержимому
Облик

Разработка и поддержка на PHP

На PHP написана огромная доля работающих сайтов, и значительная часть — это самописные проекты без документации, автор которых давно недоступен. Такие проекты чаще всего и приносят к нам: они работают, но развивать их некому.

Мы беремся за них. Первым делом — разведка: на какой версии PHP это живёт, есть ли система контроля версий, можно ли развернуть копию. От ответов зависит, как строить дальнейшую работу.

Обсудить задачу
Процесс

Как входим в унаследованный проект

  1. 01

    Разворачиваем копию

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

  2. 02

    Ставим под контроль версий

    Если истории изменений нет, заводим её. Без этого любая правка необратима.

  3. 03

    Проверяем версию PHP

    Старые версии не получают исправлений безопасности. Обновление часто оказывается первым необходимым шагом.

  4. 04

    Находим точки входа

    Разбираемся, где обрабатываются формы и запросы. В самописных проектах структура редко очевидна.

  5. 05

    Делаем первую задачу

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

Разбор

Когда старый PHP-проект пора менять

Признаки, при которых доработка обходится дороже разработки заново: правки вносятся прямо на боевом сервере, версия PHP снята с поддержки и обновление ломает половину функций, одна и та же логика продублирована в десятке файлов.

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

Вопросы

Что обычно спрашивают

У нас самописный сайт без документации. Возьмётесь?

Обычно да. Начинаем с разведки и говорим честно, что можно делать в текущем коде, а что потребует переделки, — с обоснованием, а не с общим «тут всё плохо».

Сайт на PHP 5, что делать?

Эта версия давно снята с поддержки, и хостинги её постепенно отключают. Обновление неизбежно; вопрос в том, обновлять код постепенно или переписывать. Решаем после оценки объёма.

Можно ли обновить PHP без переписывания?

Иногда достаточно исправить несовместимости — это заметно дешевле переписывания. Объём становится понятен после автоматической проверки кода на совместимость.

Что с безопасностью старых проектов?

Проверяем классические места: работу с базой, загрузку файлов, хранение паролей, доступ к админке. В унаследованных проектах находки бывают почти всегда.

Сколько стоит работа с legacy-проектом?

Считаем после разведки. Оценивать чужой код вслепую нечестно: разброс трудоёмкости слишком велик.

Смежные страницы
Заявка

Есть старый PHP-проект?

Расскажите, что с ним и что нужно. Посмотрим код и скажем, беремся ли.

или напишите напрямую hello@versta.studio