JSON a clase PHP
Convierte una muestra JSON en una clase PHP tipada con constructor, fromArray y toArray.
JSON a clase PHP
Pega un objeto JSON o matriz y esta herramienta infiere un tipo para cada campo, luego genera una clase PHP lista para usar: propiedades tipadas, un constructor, una fábrica fromArray() estática y un método toArray() para convertir el objeto nuevamente en una matriz simple. Los objetos anidados se convierten en sus propias clases automáticamente, y las formas idénticas se reutilizan en lugar de duplicarse, por lo que una carga útil con varias secciones estructuradas de forma similar aún produce un archivo compacto.
El nombre de la clase y el nombre del espacio de nombres nombran la clase raíz y, opcionalmente, la envuelven en un espacio de nombres de PHP. El constructor promovido de PHP 8 escribe propiedades directamente en la firma del constructor en lugar de declararlas por separado; desactívalo para un constructor clásico explícito. Generar getters y setters añade métodos de acceso (isX() para booleanos, getX()/setX() de lo contrario) en lugar de exponer propiedades directamente. declare(strict_types=1) añade el encabezado de tipo estricto de PHP, y los comentarios de bloque de documentación anotan cada propiedad con su tipo inferido. Los campos de matriz deciden si una lista se escribe como una matriz simple o se documenta con su tipo de elemento, como string[], ya que PHP no tiene genéricos para eso en la sugerencia de tipo.
Un campo visto como nulo, o faltante en algunos elementos de una matriz de objetos, se genera como anulable, con una verificación isset() segura cuando necesita construir un objeto anidado o asignar una lista, y un valor predeterminado de coalescencia nula de lo contrario. Una clave que choca con una palabra clave de PHP o comienza con un dígito se cambia a un nombre de propiedad válido, y cada propiedad generada mantiene la clave JSON original como su clave de matriz en fromArray() y toArray().
Todo se ejecuta localmente en tu navegador: el JSON que pegas, que puede incluir respuestas reales de API o datos de configuración, nunca se carga en ningún lugar. Copia la clase generada, descárgala como archivo .txt, o envía la salida nuevamente a la entrada para refinarla más.