Обновление LMS с PHP 5.5 до 8.5@ aeimany
О позиции
Нужна помощь в обновлении крупной системы управления обучением (LMS), написанной на PHP 5.5, до версии PHP 8.5. Система содержит более 50 000 строк кода и была написана без использования фреймворков. В данный момент в приложении отсутствуют автоматизированные тесты, поэтому требуется особая осторожность, чтобы сохранить существующее поведение, удаляя устаревший синтаксис и функции.
Чем вы будете заниматься
- Аудит всего кода для выявления изменений, которые могут вызвать проблемы при переходе с версии 5.5 на 8.x (например, удаленные расширения, измененные уровни ошибок по умолчанию, новые зарезервированные ключевые слова, требования к строгой типизации).
- Рефакторинг или переписывание затронутых файлов, замена устаревших вызовов mysql_*, create_function, each() и аналогичных конструкций на современные эквиваленты (PDO, анонимные функции, foreach и т.д.).
- Введение пространств имен и автозагрузки, где это снижает риски обслуживания, но при этом сохранить общую архитектуру, чтобы фронтенд-шаблоны и админские инструменты продолжали работать без изменений.
- Настройка минимального, но эффективного тестового фреймворка (PHPUnit или Pest) для захвата основных пользовательских потоков — регистрация, завершение курса, отчетность — чтобы будущие обновления были менее рискованными.
- Доставка обновленного кода, готового к запуску под PHP 8.5 с установленным уровнем отчетности об ошибках E_ALL и нулевыми предупреждениями.
Критерии приемки
- Приложение устанавливается и работает на PHP 8.5 со всеми существующими функциями, функционирующими как в производственной среде.
- Нет уведомлений об устаревших функциях, предупреждений или фатальных ошибок в журналах ошибок после одного часа типичного использования.
- Базовый набор автоматизированных тестов, охватывающий как минимум критические пользовательские пути, запускаемый через CLI одной командой.
- Ясный отчет об обновлении, в котором изложены все основные изменения, новые библиотеки и любые области, которые все еще требуют ручного контроля качества.
Я предоставлю полный доступ к репозиторию, дам дамп базы данных и краткий обзор сложных модулей. Если у вас есть опыт модернизации крупных процедурных систем на PHP и вы можете минимизировать время простоя, мне было бы интересно узнать, как вы планируете это сделать, и реалистичные сроки выполнения.
Требования
- JavaScript
- MySQL
- PHP
- PHPUnit
- Архитектура программного обеспечения
- Разработка программного обеспечения
- Тестирование программного обеспечения
- Веб-разработка
Вакансия предлагает интересный проект по обновлению устаревшей системы управления обучением. Однако, отсутствие четкой информации о компании и условиях работы может вызвать вопросы у кандидатов.
Формируем профиль успеха...
Анализируем требования вакансии и данные рынка
Обзор рынка
Навыки и требования
Тренды отрасли
Новости EdTech
Загружаем новости отрасли...
Ищем релевантные статьи за последние 6 месяцев