JSON в PHP класс
Преобразуйте JSON образец в типизированный PHP класс с конструктором, fromArray и toArray.
JSON в PHP класс
Вставьте JSON объект или массив, и этот инструмент определит тип каждого поля, затем сгенерирует готовый к использованию PHP класс: типизированные свойства, конструктор, статический фабричный метод fromArray() и метод toArray() для преобразования объекта обратно в обычный массив. Вложенные объекты автоматически становятся собственными классами, и одинаковые структуры повторно используются вместо дублирования, так что нагрузка с несколькими похожо структурированными разделами всё ещё производит компактный файл.
Имя класса и пространство имён называют корневой класс и опционально оборачивают его в PHP пространство имён. Promoted конструктор PHP 8 записывает свойства непосредственно в сигнатуру конструктора вместо их отдельного объявления — отключите его для классического явного конструктора. Генерировать геттеры и сеттеры добавляет методы доступа (isX() для логических значений, getX()/setX() для остальных) вместо прямого доступа к свойствам. declare(strict_types=1) добавляет заголовок строгих типов PHP, а комментарии docblock аннотируют каждое свойство его предполагаемым типом. Поля массива определяют, типизируется ли список как обычный массив или задокументирован типом его элементов, например string[], так как PHP не имеет дженериков для этого в подсказке типов.
Поле, которое видится как null или отсутствует в некоторых элементах массива объектов, генерируется как nullable — с безопасной проверкой isset() когда необходимо построить вложенный объект или отобразить список, и null-coalescing по умолчанию в противном случае. Ключ, который конфликтует с зарезервированным словом PHP или начинается с цифры, переименовывается в валидное имя свойства, и каждое сгенерированное свойство сохраняет исходный JSON ключ как свой ключ массива в fromArray() и toArray().
Всё работает локально в вашем браузере — JSON который вы вставляете, может включать реальные ответы API или данные конфигурации, никогда не загружается никуда. Скопируйте сгенерированный класс, загрузите его как файл .txt или отправьте результат обратно на вход для дальнейшего уточнения.