Accueil logo MakeYourGame gachetteG gachetteD paddleG paddleH paddleD paddleB buttonG buttonH buttonD buttonB

Comment retourner un objet JSON depuis un serveur php ?

Web

Découvrez comment formater un objet JSON en php afin de le retourner à une possible application Unity ou Godot Engine.

5 min Débutant

Il est tout à fait possible que dans votre prochain jeu, vous ayez besoin de récupérer des données depuis un serveur web. Alors que côté Unity nous savons comment faire pour envoyer des données, en POST, au serveur, et grâce à WWWForm, côté serveur nous ne savons pas encore comment renvoyer des données nombreuses.

C'est ce que nous allons voir sur ce tutoriel en utilisant le langage php : "Formater et renvoyer des données en php"

Pré-requis: disposer d'un serveur local php actif, ou d'un serveur php en ligne.

  Mise en place d'un serveur web

Ce tutoriel ne présentera pas comment installer un serveur local php, car de nombreuses méthodes existent, au même titre que cela dépend très fortement de votre système d'exploitation.

Voici tout de même une ressource (FR), pour installer un serveur local php, issue d'un site très connu : OpenclassRooms

Si vous disposez déjà d'un serveur en ligne, vous pouvez vous passer de cette étape.

Ecrire le script php

Dans cet exemple on part du principe que l'on a déjà récupéré les informations voulues depuis une Base de Données MySQL par exemple. De plus on imagine que l'on veut à terme recomposer les données du joueur, côté Unity.

Penser l'objet JSON

Ainsi il nous faut penser en amont notre objet JSON  avant de pouvoir le formater en php... N'hésitez à relire la notion de JSON si cela est encore flou pour vous !

L' Objet Player côté Unity utilisera 2 champs: name et xp . Notre JSON sera donc naturellement composé d'un player qui sera lui même composé de 2 informations (name et xp)

{"player":{"name":"alto","xp":50}}
Ne perdez pas de vue que sur une situation réelle les informations seraient issues d'une requête SQL auprès de la Base de Données!
En cas de doute sur le format de votre JSON, un conseil, passez par un  validateur online !

https://makeyourgame.fun//upload/users/alto/tutoriels/jsonformateronline-5e753d4fee8b8.png

Encoder en JSON

Nous utiliserons un script php, nommé index.php pour l'exemple...à vous d'adapter selon vos besoins !

<?php

$datas = array(

    'player' => array(
        'name' => 'alto',
        'xp' => 50
    )
);

$json = json_encode($datas); // transforme en notation JSON les données $datas => le tableau php (array)
echo $json; //retourne au client (Unity, Godot Engine...) les données sous forme d'objet JSON

Le script est ici très simple et c'est volontaire, afin de ne pas perturber la compréhension.

Les commentaires dans le code parlent d'eux mêmes, mais il est quand même important de noter la correspondance entre la structure des datas $datas, composées d'un tableau de tableau, permettant de passer la validation de l'object JSON.

Si vous accédez à votre page index.php, sur votre serveur local/online, vous devriez voir le résultat textuel de votre objet JSON.

Vous êtes ainsi prêts côté serveur php à renvoyer des données à vos clients .

La prochaine fois nous verrons comment récupérer ces données JSON depuis Unity !

Vues: 228

Connectez-vous pour applaudir applause logo 0 claps

Validation du Tutoriel

Veuillez vous connecter ou créer un compte pour pouvoir valider ce tutoriel et ainsi gagner stardust et XP !

×