Download the PHP package traineratwot/json2dto without Composer
On this page you can find all versions of the php package traineratwot/json2dto. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download traineratwot/json2dto
More information about traineratwot/json2dto
Files in traineratwot/json2dto
Download traineratwot/json2dto
More information about traineratwot/json2dto
Files in traineratwot/json2dto
Vendor traineratwot
Package json2dto
Short Description Convert JSON files to Spatie DTO objects
License GPL-3.0
Homepage https://github.com/traineratwot/json2dto
Package json2dto
Short Description Convert JSON files to Spatie DTO objects
License GPL-3.0
Homepage https://github.com/traineratwot/json2dto
Please rate this library. Is it a good library?
Informations about the package json2dto
Json2Dto
Инструмент для генерации DTO-классов на основе JSON-данных с поддержкой вложенных DTO, сборки multipart-структур и валидационных атрибутов от Spatie Laravel Data.
Установка / Installation
Использование / Usage
Запускайте инструмент из корня проекта (там, где находится composer.json), чтобы правильно разрешить пространства имён через PSR-4. Ввод JSON принимается из файла (второй аргумент) или из stdin.
Примеры / Examples
Опции / Options
| Опция | Описание / Description |
|---|---|
--classname, -name |
Название корневого DTO-класса (NewDto по умолчанию) / Root DTO class name (NewDto by default) |
--nested |
Генерировать вложенные DTO для объектов и массивов объектов / Generate nested DTOs for nested objects and collections |
--typed |
Использовать PHP-типы для свойств конструктора (>=7.4) / Enable PHP typed properties (>=7.4) |
--optional |
Сделать все поля nullable с значением по умолчанию null / Make every field optional (nullable with default null) |
--multipart |
Слить массив объектов в один DTO, объединяя все поля / Merge array of objects into a single DTO covering all variants |
--dry |
Показать сгенерированные файлы вместо записи на диск / Dry run — print generated files instead of writing them |
Поведение / Behavior
- В режиме
--multipartвходной JSON должен быть массивом объектов. Генерируется DTO, где каждое поле становится опциональным, если отсутствует в каком-то объекте или встречалось какnull. - Ключи, не соответствующие camelCase, автоматически нормализуются, а оригинальные имена мапятся через атрибуты
MapInputName/MapOutputName. - При генерации без
--nestedвложенные объекты остаются типизированными какmixed, но при включении--typedдобавляются соответствующие типы и атрибуты валидации от Spatie Laravel Data. - Строки анализируются на наличие email, URL, UUID, ISO-дат и IP, чтобы добавить соответствующие атрибуты валидации.
Примечания / Notes
- Инструмент работает с PSR-4 пространства имён и создает файлы согласно разрешению namespace → папка. Если в проекте нет
composer.json, файлы будут помещены в текущую директорию. - Для работы генерации атрибутов требуется установленный пакет
spatie/laravel-data.
All versions of json2dto with dependencies
PHP Build Version
Package Version
Requires
php Version
>=8.2
ext-json Version *
illuminate/support Version ~5.5 || ~6.0 || ~7.0 || ~8.0 || ~9.0
nette/php-generator Version ^3.3
spatie/laravel-data Version ^3.12
symfony/console Version ^4.2 || ^5.0
ext-json Version *
illuminate/support Version ~5.5 || ~6.0 || ~7.0 || ~8.0 || ~9.0
nette/php-generator Version ^3.3
spatie/laravel-data Version ^3.12
symfony/console Version ^4.2 || ^5.0
The package traineratwot/json2dto contains the following files
Loading the files please wait ...