Download the PHP package phpsoftbox/code-generator without Composer
On this page you can find all versions of the php package phpsoftbox/code-generator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download phpsoftbox/code-generator
More information about phpsoftbox/code-generator
Files in phpsoftbox/code-generator
Package code-generator
Short Description Code generator helpers for the PhpSoftBox framework
License MIT
Informations about the package code-generator
PhpSoftBox CodeGenerator
About
phpsoftbox/code-generator — набор утилит для генерации кода и базовых CLI-команд. Включает AbstractMakeCommandHandler, CodeGenerator, GeneratorTarget и FileWriter.
Quick Start
Пример генерации класса с атрибутом:
Оглавление
- Документация
- About
- Quick Start
OpenAPI DTO
OpenApiDtoGenerator генерирует DTO-классы и response-map из локальных OpenAPI документов. Он не привязан к конкретному маркетплейсу: компонент-потребитель передает namespace, DTO-интерфейс, value-helper и путь для карты ответов.
Генератор поддерживает несколько документов за один запуск и изолирует одинаковые schema names по имени документа. Это нужно для спецификаций, где в разных YAML-файлах встречаются одинаковые DTO вроде Error или Order.
Имена классов, свойств и namespace строятся только из латинских букв и цифр имени схемы или поля; ключи JSON
попадают в код строковыми литералами с экранированием, поэтому кавычки и \ в именах полей не искажают ключ.
Параметр конструктора $extra собирает неописанные ключи ответа; поле схемы с именем extra получает
свойство extra2 (как и другие совпадения имён после нормализации).
Корневые массивы и ответы без JSON
Если response schema описывает корневой JSON-массив, сгенерированный DTO хранит
его в свойстве value. В fromArray() передаётся сам массив, без дополнительной
обёртки: $dto = ReportList::fromArray($items), затем $dto->value.
Для массива объектов по $ref элементы преобразуются в соответствующие DTO.
У обычного JSON-объекта с настоящим полем value структура входа не меняется.
Для операции с описанным успешным 2xx-ответом выбирается успешная JSON-схема. Если у успешных ответов нет JSON, например 204 или скачивание файла, генерируется пустой response DTO, а не DTO ошибки из 400/401/default. Транспорт компонента-потребителя по-прежнему отвечает за HTTP-ошибки и бинарные данные.
После обновления генератора пересоздайте DTO компонента-потребителя. Изменятся классы в response-map там, где ранее ошибочно использовалась схема ошибки; проверьте явные импорты таких классов и ручные обёртки корневых массивов.