Preskoči na vsebino
100% lokalno

JSON v PHP razred

Pretvori JSON vzorec v tipiziran PHP razred s konstruktorjem, fromArray in toArray metodami.

Vhod
Izhod

JSON v PHP razred

Prilepite JSON objekt ali niz in to orodje sklepa tip za vsako polje, nato pa ustvari pripravljeni PHP razred: tipizirne lastnosti, konstruktor, statično fromArray() tovarniško metodo in toArray() metodo za vrnitev objekta v navadno matriko. Vgnezdeni objekti postanejo svojski razredi samodejno, enake oblike pa se ponovno uporabijo namesto podvajanja, zato se breme z več podobnih delov še vedno zmanjša v kompaktno datoteko.

Naziv razreda in namespace poimenujeta koren razreda in ga opcionalnega ovijeta v PHP namespace. PHP 8 promoted constructor piše lastnosti direktno v podpis konstruktorja namesto ločenega deklariranja — izključite ga za klasičen ekspliciten konstruktor. Generiraj getters in setters doda dostopne metode (isX() za boolean, getX()/setX() sicer) namesto neposrednega izpostavljanja lastnosti. declare(strict_types=1) doda PHP glavo, docblock komentarji pa označijo vsako lastnost z njenim sklepanjem. Polja matrike odločijo, ali je matrika tipizirana kot navadna matrika ali dokumentirana s tipom elementa.

Polje, ki je bilo videno kot null ali manjka iz nekaterih elementov matrike objektov, je ustvarjeno kot nullable — z varnostno isset() preverico, ko morate graditi vgnezdeni objekt ali preslikati matriko, in null-coalescing privzetek sicer. Ključ, ki se ujema s PHP rezervirano besedo ali se začne s števko, se preimenuje v veljavno lastnost, vsaka ustvarjena lastnost pa ohrani prvotni JSON ključ kot njen ključ matrike v fromArray() in toArray().

Vse se izvršava lokalno v vašem brskalniku — JSON, ki ga prilepite, nikoli ne pošljete nikamor. Kopirajte ustvarjene razrede, preuzmite kot datoteko .txt ali pošljite izhod nazaj v vnos za nadaljnje izboljšave.

FAQ

Katero verzijo PHP-ja koristi ustvarjena koda?
PHP 8.0 ali novejše, saj so lastnosti promoted constructor in mešani tip lastnosti PHP 8. Izključite možnost promoted-constructor, če potrebujete izhod, kompatibilen s PHP 7.
Kako se obravnavajo vgnezdeni objekti?
Vsak odličen oblik objekta postane sam razred s svojimi fromArray() in toArray() metodami. Dve polji z enako obliko ponovno uporabita isti ustvarjeni razred namesto podvajanja.
Kaj se zgodi s poljem, ki je včasih null ali manjka?
Ustvarjeno je kot nullable, tipizirana lastnost. Skalarni tipi uporabljajo null-coalescing operator; vgnezdeni objekti in seznami objektov uporabljajo isset() preverico, zato fromArray() nikoli ne kliče metode na manjkajočih podatkih.
Ali lahko ustvarim več razredov iz enega JSON vzorca?
Da. Vsak vgnezdeni objekt v vzorcu ustvari svoj razred v isti datoteki, v vrstnem redu odvisnosti, zato je datoteka takoj pripravljena za uporabo.
Je moj JSON naložen nekje?
Ne. Ustvarjanje razreda se izvršava v celoti v vašem brskalniku — vaš JSON nikoli ne zapusti vaš preizkuševalec.