JSON pentru clasă PHP
Convertește un exemplu JSON într-o clasă PHP tipizată cu constructor, fromArray și toArray.
JSON pentru clasă PHP
Lipiți un obiect sau o matrice JSON și acest instrument deduce un tip pentru fiecare câmp, apoi generează o clasă PHP gata de utilizat: proprietăți tipizate, constructor, metoda de fabrică statică fromArray() și metoda toArray() pentru a converti obiectul înapoi într-o matrice simplă. Obiectele imbricate devin propriile lor clase automat, iar formele identice sunt reutilizate în loc să fie duplicate, deci o sarcină cu mai multe secțiuni structurate similar produce în continuare un fișier compact.
Numele clasei și numele spațiului de nume denumesc clasa rădăcină și, opțional, o înfășoară într-un spațiu de nume PHP. Constructorul promovat PHP 8 scrie proprietăți direct în semnătura constructorului în loc să le declare separat — dezactivați-l pentru un constructor clasic explicit. Generează getters și setters adaugă metode accessor (isX() pentru valori booleene, getX()/setX() altfel) în loc să expună proprietăți direct. declare(strict_types=1) adaugă antetul de tip strict al PHP, iar comentariile docblock adnotează fiecare proprietate cu tipul său dedus. Câmpurile matrice decid dacă o listă este tipizată ca o matrice simplă sau documentată cu tipul elementului acesteia, cum ar fi string[], deoarece PHP nu are generi pentru asta în indiciul de tip.
Un câmp văzut ca nul sau lipsă din unele elemente ale unei matrice de obiecte este generat ca anulabil — cu o verificare sigură isset() atunci când trebuie să construiască un obiect imbricat sau să mapeze o listă, și o valoare implicită null-coalescing în caz contrar. O cheie care se ciocnește cu un cuvânt-cheie PHP sau începe cu o cifră este redenumită la un nume de proprietate valabil, iar fiecare proprietate generată păstrează cheia JSON originală ca cheie de matrice în fromArray() și toArray().
Totul funcționează local în browserul dvs. — JSON-ul pe care îl lipiți, care poate include răspunsuri API reale sau date de configurare, nu este niciodată încărcat nicăieri. Copiați clasa generată, descărcați-o ca fișier .txt sau trimiteți rezultatul înapoi la intrare pentru a o rafina în continuare.