JSON a classe PHP
Trasforma un campione JSON in una classe PHP tipizzata con costruttore, fromArray e toArray.
JSON a classe PHP
Incolla un oggetto JSON o un array e questo strumento deduce un tipo per ogni campo, quindi genera una classe PHP pronta all'uso: proprietà tipizzate, un costruttore, una factory fromArray() statica e un metodo toArray() per convertire l'oggetto in un array semplice. Gli oggetti annidati diventano le loro proprie classi automaticamente, e le forme identiche vengono riutilizzate anziché duplicate, quindi un payload con più sezioni strutturate in modo simile produce comunque un file compatto.
Il nome della classe e il nome dello spazio dei nomi denominano la classe radice e, facoltativamente, la avvolgono in uno spazio dei nomi PHP. Il costruttore promosso PHP 8 scrive le proprietà direttamente nella firma del costruttore anziché dichiararle separatamente; disattivalo per un costruttore classico esplicito. Genera getter e setter aggiunge metodi di accesso (isX() per i booleani, getX()/setX() altrimenti) anziché esporre le proprietà direttamente. declare(strict_types=1) aggiunge l'intestazione del tipo rigoroso di PHP, e i commenti del blocco di documentazione annotano ogni proprietà con il suo tipo dedotto. I campi array decidono se un elenco è tipizzato come un array semplice o documentato con il suo tipo di elemento, come string[], poiché PHP non ha generici per questo nell'hint di tipo.
Un campo visto come null, o mancante da alcuni elementi di un array di oggetti, viene generato come nullable, con un controllo isset() sicuro quando deve costruire un oggetto annidato o mappare un elenco, e un default di coalescenza null altrimenti. Una chiave che collide con una parola chiave PHP o inizia con una cifra viene rinominata in un nome di proprietà valido, e ogni proprietà generata mantiene la chiave JSON originale come chiave di array in fromArray() e toArray().
Tutto funziona localmente nel tuo browser: il JSON che incolla, che può includere risposte API reali o dati di configurazione, non viene mai caricato da nessuna parte. Copia la classe generata, scaricala come file .txt, o invia l'output di nuovo nell'input per perfezionarlo ulteriormente.