← Tous les outils Code Gen

Convertisseur JSON vers PHP

Collez du JSON et obtenez instantanément des tableaux PHP, des objets stdClass ou des classes PHP 8 typées.

0 car.

Trois modes de sortie PHP

Le mode tableau associatif PHP convertit les objets JSON en littéraux de tableau PHP avec la syntaxe array() standard ou la syntaxe courte []. C'est la sortie la plus simple et ne nécessite aucune définition de classe — idéal pour les fichiers de configuration, les fixtures et les scripts ponctuels.

Le mode stdClass utilise le style de sortie de json_decode($json), représentant chaque objet JSON comme un objet PHP anonyme avec des propriétés publiques. Cela reflète ce que retourne json_decode() intégré de PHP quand le deuxième argument est false (la valeur par défaut).

Le mode classe typée génère des définitions de classe PHP avec des propriétés publiques typées utilisant les types union et nullables de PHP 8+. Chaque objet JSON devient une classe avec un constructeur qui définit toutes les propriétés, fortement typé avec int, float, string, bool, array et ?T pour les champs nullables.

Système de types PHP 8 et conventions de nommage

PHP 8 a introduit la promotion de propriétés dans le constructeur et les types union. Le générateur utilise la promotion de constructeur par défaut — propriétés déclarées directement dans la signature du constructeur avec visibilité et type — réduisant le code répétitif au minimum.

Les clés JSON sont converties en identifiants PHP valides suivant la convention camelCase. Les clés commençant par des chiffres sont préfixées d'un underscore. Les mots réservés PHP utilisés comme noms de propriété sont aussi préfixés d'un underscore et un commentaire doc enregistre la clé originale.

Pour les propriétés nullables, le générateur émet ?string, ?int, ?float, ?bool et ?NomClasse. Les types union PHP 8.0+ (string|null, int|float) sont utilisés quand un champ contient des types mixtes entre les éléments d'un tableau.

Flux de travail Laravel et Symfony

Les développeurs Laravel ont souvent besoin de définir des attributs de modèle Eloquent depuis des formes de réponse API. La sortie classe typée vous donne une classe PHP typée qui reflète le contrat API, utile comme DTO entre les classes de service.

Les développeurs Symfony utilisant le composant Serializer ou API Platform peuvent intégrer directement les classes typées générées dans leur projet. Les classes sont compatibles avec le composant PropertyAccess de Symfony.

Les développeurs PHP construisant des plugins WordPress, des modules Drupal ou des scripts autonomes ont souvent besoin de désérialiser des réponses API JSON. La sortie tableau est l'intégration la plus rapide, sans autoloading requis.

FAQ

Mes données sont-elles envoyées à un serveur ?

Non. Tout le traitement s'effectue entièrement dans votre navigateur. Votre JSON ne quitte jamais votre appareil.

Quel mode de sortie choisir ?

Utilisez la sortie tableau pour les scripts rapides et les fichiers de config. Utilisez stdClass si votre code utilise déjà json_decode(). Utilisez les classes typées pour les bases de code PHP 8 maintenables et type-safe.

Comment les mots réservés PHP sont-ils gérés comme noms de propriétés ?

Les mots réservés PHP comme "class", "match", "fn", "list" et "array" sont préfixés d'un underscore (ex. $_class) et un commentaire doc préserve la clé JSON originale.

La syntaxe PHP 7 est-elle supportée ?

Oui. Un mode de compatibilité PHP 7 remplace les types union par des types nullables (?T) et la promotion de constructeur par des déclarations de propriétés explicites, produisant du code compatible avec PHP 7.4+.

Puis-je générer des modèles Eloquent Laravel ?

La sortie classe typée fournit la structure des propriétés. Pour des modèles Eloquent complets, vous ajouteriez extends Model et un tableau $fillable. Un mode stub Laravel est disponible pour ajouter automatiquement ces éléments de base.

Outils similaires