Skip to content

refactor(api): HttpStatus and Response HTTP_* constants#209

Open
Ibochkarev wants to merge 1 commit intofix/gh-207-manager-order-product-eventsfrom
refactor/http-status-response-constants
Open

refactor(api): HttpStatus and Response HTTP_* constants#209
Ibochkarev wants to merge 1 commit intofix/gh-207-manager-order-product-eventsfrom
refactor/http-status-response-constants

Conversation

@Ibochkarev
Copy link
Copy Markdown
Member

Описание

Введён класс MiniShop3\Router\HttpStatus с базовыми кодами ответа; Response использует эти значения через публичные константы Response::HTTP_* (в т.ч. HTTP_NOT_FOUND). Сигнатуры success / error уточнены под строгую типизацию (mixed, явный ?string). Магические числа в Response::error и связанных вызовах заменены на именованные константы по роутам и API-контроллерам; обновлён Router.

Поведение HTTP-ответов не меняется по смыслу — только читаемость и единообразие.

База PR: ветка fix/gh-207-manager-order-product-events. После мержа этого PR в ту ветку и мержа #207 в beta можно влить оставшиеся изменения одним потоком, либо ребейзнуть эту ветку на обновлённый beta.

Тип изменений

  • Исправление бага (non-breaking change)
  • Новая функциональность (non-breaking change)
  • Breaking change (изменение, ломающее обратную совместимость)
  • Рефакторинг (без изменения функциональности)
  • Документация
  • Другое (опишите):

Связанные Issues

Refs #207 (контекст — тот же OrdersController получает константы вместо литералов; основной фикc в отдельном PR).

Как это было протестировано?

Статический обзор диффа: замена констант, без изменения ветвлений по кодам.

  • Ручное тестирование
  • Автоматические тесты (PHPStan, ESLint)
  • Тестирование на разных версиях PHP/MODX

Конфигурация тестирования:

  • MiniShop3:
  • MODX:
  • PHP:

Скриншоты (если применимо)

До После

Чеклист

  • Код соответствует стилю проекта
  • Добавлены/обновлены комментарии в сложных местах
  • Изменения не ломают существующую функциональность
  • Лексиконы добавлены на двух языках (ru/en)
  • PHPStan проходит без новых ошибок
  • ESLint проходит без ошибок (для JS/Vue изменений)
  • Обновлён CHANGELOG.md (для значимых изменений)

Дополнительные заметки

Рекомендуемый порядок: смержить PR с #207 в beta, затем refactor/http-status-response-constants перебазировать на beta и открыть отдельный PR в beta, если второй PR шёл только в ветку фикса. Текущий PR нацелен на ветку фикса, чтобы дифф оставался только рефакторингом без дублирования с #207.

Introduce MiniShop3\Router\HttpStatus; Response aliases it and uses explicit
nullable/mixed signatures. Replace literal status codes in API Response::error
call sites. OrdersController keeps msOrderProduct lifecycle events from the
parent branch with named constants for HTTP statuses.
@Ibochkarev Ibochkarev marked this pull request as ready for review April 21, 2026 04:56
@Ibochkarev Ibochkarev requested a review from biz87 April 21, 2026 04:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant