Senior Развитие платформы Обязательно

Legacy, deprecated API и стратегия миграции

Разработка в Битриксе требует сосуществования нового ядра D7 и исторического API, поскольку часть операций (создание инфоблоков, свойств и прав) пока не имеет D7-аналогов. Для сохранения стабильности системы старые методы изолируют внутри сервисных слоев, а статус устаревания функций отслеживают по исходникам ядра и аннотациям @deprecated.

Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.

Что нужно понимать

  • 1
    Что считается deprecated и где это отслеживать
  • 2
    Классическое API рядом с D7 в одном проекте
  • 3
    Постепенная миграция без переписывания
  • 4
    Когда переписывать выгоднее

Материалы

Проверь себя

Заказчик просит «переписать всё на D7» за квартал. Что ответить?

Что D7-замены нет у части классического API: инфоблоки, свойства и права создаются через CIBlock и CIBlockProperty по документации. Переписывать надо не по префиксу C, а по списку устаревшего и по цене поддержки конкретного участка.

Код перевели с классического изменения заказа на OrderTable::update(). Что сломалось?

Жизненный цикл: события, история, пересчёт коллекций не сработали. Формально это D7, по факту — хуже старого кода. Замена — объектная модель: Order::load(), изменение и save().

Как понять, что метод устарел, если он работает?

По @deprecated в исходниках ядра, по сводным таблицам замен в документации модулей и по разборам обновлений. Работающий метод — не признак: удаляют ровно те, что помечены.

Когда обёртка вокруг старого кода уже не спасает и надо переписывать?

Прямой SQL к таблицам ядра, который не переживёт PostgreSQL и смену схемы; наследники классов, ставших final; скопированные компоненты с шаблонами пятилетней давности. Работающий CIBlockElement::GetList в кеше — нет.

Не сходится?

Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.

Знаете материал лучше?

Предложите ссылку: после проверки она появится в этом разделе.

Войти, чтобы предложить
Поделиться в Telegram
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…
Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти