JSON vers classe PHP
Transformez un exemple JSON en classe PHP typée avec constructeur, fromArray et toArray.
JSON vers classe PHP
Collez un objet JSON ou un tableau et cet outil déduit un type pour chaque champ, puis génère une classe PHP prête à l'emploi : propriétés typées, un constructeur, une fabrique fromArray() statique et une méthode toArray() pour transformer l'objet en un tableau simple. Les objets imbriqués deviennent leurs propres classes automatiquement, et les formes identiques sont réutilisées plutôt que dupliquées, de sorte qu'une charge utile avec plusieurs sections structurées de manière similaire produit toujours un fichier compact.
Le nom de la classe et le nom de l'espace de noms nomment la classe racine et, éventuellement, l'enveloppent dans un espace de noms PHP. Le constructeur promu de PHP 8 écrit les propriétés directement dans la signature du constructeur au lieu de les déclarer séparément ; désactivez-le pour un constructeur classique explicite. Générer les getters et setters ajoute des méthodes d'accesseur (isX() pour les booléens, getX()/setX() sinon) au lieu d'exposer directement les propriétés. declare(strict_types=1) ajoute l'en-tête de type strict de PHP, et les commentaires de bloc de documentation annoter chaque propriété avec son type déduit. Les champs de tableau déterminent si une liste est typée comme un tableau simple ou documentée avec son type d'élément, tel que string[], puisque PHP n'a pas de génériques pour cela dans l'indice de type.
Un champ vu comme nul, ou absent de certains éléments d'un tableau d'objets, est généré comme nullable, avec une vérification isset() sécurisée lorsqu'il doit construire un objet imbriqué ou mapper une liste, et une valeur par défaut de coalescence nulle sinon. Une clé qui entre en conflit avec un mot-clé PHP ou commence par un chiffre est renommée en un nom de propriété valide, et chaque propriété générée conserve la clé JSON d'origine comme clé de tableau dans fromArray() et toArray().
Tout s'exécute localement dans votre navigateur : le JSON que vous collez, qui peut inclure des réponses API réelles ou des données de configuration, n'est jamais téléchargé nulle part. Copiez la classe générée, téléchargez-la sous forme de fichier .txt, ou renvoyez la sortie à l'entrée pour l'affiner davantage.