<? phpukraine TEAM
⌕Пошук по платформі
ПОСЛУГА

Модернізація legacy PHP-системи

Система працює на PHP, який давно не підтримується, на фреймворку без оновлень або взагалі без фреймворку. Ми переводимо її на сучасний стек поступово, поки бізнес продовжує працювати.

Що вважаємо legacy

Не вік коду, а те, скільки він коштує. Стара система стає проблемою, коли її неможливо оновити без страху щось зламати, коли нового розробника не знайти, бо ніхто не хоче працювати з цим стеком, коли хостинг вимагає підняти версію PHP, а код на ній не запускається. Якщо система стара, але стабільна, дешева в підтримці і в неї є хто вносити зміни, чіпати її не варто, і ми так і скажемо.

Два шляхи

Перший, оновлення на місці: підняти версію PHP, замінити мертві залежності на живі, додати тести навколо критичних сценаріїв, налаштувати нормальний деплой. Система лишається тією самою, але перестає бути бомбою. Це швидший і дешевший шлях, і часто його достатньо.

Другий, поступова міграція на Laravel або Symfony. Не переписування з нуля, а перенесення модуль за модулем: нова система стає поруч зі старою, забирає одну функцію, потім другу, стара система поступово порожніє. Бізнес увесь час працює на робочій версії, а не чекає на «великий реліз», який зазвичай спізнюється на пів року.

Який шлях ваш, стає зрозуміло після аудиту. Іноді відповідь така: перший шлях зараз, другий за рік, коли з'явиться бюджет.

Що робимо на практиці

Спершу тести навколо того, що не можна зламати: оплата, реєстрація, звіти, інтеграції з іншими системами. Без них модернізація сліпа. Потім база даних: структура, індекси, дані, які накопичувались роками без правил. Потім код, від найболючішого модуля до найспокійнішого.

Кожен крок деплоїться окремо. Якщо щось пішло не так, відкочуємо один крок, а не місяць роботи.

Що лишається після нас

Система на підтримуваній версії PHP і фреймворку, який знає ринок. Тести, які ловлять регресії. Документація, з якої ваш наступний розробник зрозуміє, що де лежить. І жодних власних обгорток над фреймворком: стандартний Laravel або Symfony у тому вигляді, як їх описує документація.

Скільки триває

Залежить від розміру системи і від того, скільки модулів справді потрібно переносити. Тому оцінка приходить після аудиту, розбита на етапи, і кожен етап має сенс сам по собі. Якщо зупинитись після другого, ви все одно отримали кращу систему, ніж мали.

РОЗКАЖІТЬ ПРО ПРОЄКТ

Що потрібно, в якому стані код і які терміни

Форма займає пару хвилин. Доступ до коду на цьому етапі не потрібен.

Тип задачі
Стан проєкту
Орієнтовний бюджет
Орієнтир, не зобовʼязання. Потрібен лише щоб ми одразу сказали, чи реалістична задача в цих межах.
Коли потрібно
0 / 80 символів
Виберіть тип задачі

Дані використовуємо тільки для відповіді на цю заявку. Не додаємо до розсилок і не передаємо третім особам.