Обновление MODX Evolution до версии 1.4.7 и адаптация сайта для работы на современных версиях PHP (7.2 и выше)

Цель

  1. Обновить MODX Evolution до версии 1.4.7, обеспечив совместимость с новыми стандартами PHP.
  2. Сохранить функциональность сайта после обновления.
  3. Обеспечить корректную работу пользовательских сниппетов, плагинов и кастомного функционала.
  4. Устранить проблемы, связанные с устаревшими функциями PHP.

Область работ

1. Обновление MODX Evolution

  • Проведение полного обновления ядра MODX до версии 1.4.7.
  • Создание резервной копии базы данных и файлов перед обновлением.
  • Проверка совместимости текущих настроек конфигурации с новой версией MODX.
  • Обновление пользовательских файлов и стандартных компонентов (сниппеты, чанки, плагины).

2. Адаптация пользовательских сниппетов

  • Проверка совместимости кастомных сниппетов с PHP 7.2+.
  • Исправление устаревших функций:
    • Заменены mysql_* функции на mysqli_* или PDO.
    • Добавлены проверки типов данных (is_array, is_object) перед использованием функций, таких как count().
  • Обновление стандартов кода для соответствия современным версиям PHP.

3. Обновление плагинов

  • Проверка актуальности используемых плагинов и их совместимости с MODX 1.4.7.
  • Адаптация плагинов, использующих устаревшие функции PHP (например, ereg, split, create_function).
  • Замена плагинов на более современные или исправление их кода.

4. Обновление дизайна и frontend-части

  • Проверка и корректировка кода JavaScript (устаревшие библиотеки jQuery, плагины).
  • Актуализация CSS, если это необходимо.

5. Тестирование

  • Полное тестирование всех функций сайта:
    • Формы отправки.
    • Работу административной панели.
    • Кэширование и производительность.
    • Отправку почты.
  • Исправление всех обнаруженных ошибок.

Технические изменения

1. Исправление функций для работы с базой данных

  • Замена устаревших функций mysql_* на mysqli_*:
    php
     
    // Было $this->conn = mysql_connect($host, $user, $password); mysql_select_db($database, $this->conn); // Стало $this->conn = mysqli_connect($host, $user, $password, $database);

2. Совместимость с PHP 7.2+

  • Устранение ошибок:
    • count(): Parameter must be an array or an object that implements Countable.
    • Use of undefined constant.
  • Добавление проверки типов:
    php
     
    if (is_array($variable) && count($variable) > 0) { // Логика }

3. Использование современных стандартов

  • Удалены вызовы устаревших функций, таких как create_function, split, ereg.
  • Обновление кода на современные аналоги, такие как анонимные функции и регулярные выражения.

4. Обновление структуры MODX

  • Перенос пользовательских настроек в конфигурационные файлы.
  • Оптимизация структуры кэша и кэширования.

Этапы реализации

  1. Подготовка

    • Резервное копирование базы данных и файлов.
    • Сбор информации о текущем окружении (версия PHP, используемые плагины).
  2. Обновление ядра MODX

    • Загрузка и установка MODX Evolution 1.4.7.
    • Перенос кастомных настроек в новую структуру MODX.
  3. Адаптация пользовательских модулей

    • Исправление кастомных сниппетов.
    • Обновление плагинов до совместимых версий.
  4. Тестирование

    • Проверка работы всех функций сайта.
    • Исправление обнаруженных ошибок.
  5. Финальная оптимизация

    • Настройка кэширования.
    • Оптимизация скорости работы сайта.

Сроки выполнения

Общая продолжительность работ: 5–7 рабочих дней (в зависимости от сложности кастомного кода и плагинов).


Результат

  1. Сайт, работающий на MODX Evolution 1.4.7.
  2. Полная совместимость с PHP 7.2+.
  3. Исправление всех ошибок, связанных с устаревшими функциями.
  4. Тестирование и обеспечение стабильной работы всех компонентов сайта.

Сделать заказ

| необходим для связи с вами
В кротчайшие сроки я свяжусь с вами.

Также вы можетете связать со мной:
telegram: @ifwcom