Interrogation en boucle avec des requettes json en Php

Exemple d’utilisation d’un tableau de requettes, par une boucle d’interrogation json de données Domogeek, Saint du jour, Zone en vacances, Jour férié…

/* $reqs : partie variable des requettes domogeek
Attention dans la requette "sun/..." mettre le nom de sa ville la plus proche
Plus d'info sur http://domogeek.entropialux.com/static/index.html */
$reqs = array("feastedsaint/now/json",
             	"weekend/now/json",
             	"holidayall/B/now/json",
            	"schoolholiday/B/now/json",
               	"season/json",
                "sun/laturballe/all/now",
                "sun/laturballe/all/now",
                "sun/laturballe/all/now",
                "sun/laturballe/all/now",);
//$fields : nom des champs à lire pour la requette en cours
$fields = array("feastedsaint",
             	"weekend",
             	"holiday",
            	"schoolholiday",
               	"season",
              	"sunrise",
              	"sunset",
              	"dayduration",
              	"zenith");
/* $labels : nom des variables crées par le scénario, dans lesquelles seront stockées la valeur du champ lu.
lancer le scénario, puis utiliser les variables crées dans vos autres scénarios ou virtuels. */
$labels = array("Jour du Saint",
             	"Weekend",
             	"Férié",
            	"Vacances Scolaire",
               	"Saison",
                "Lever Soleil",
              	"Coucher Soleil",
              	"Durée Jour",
              	"Zenith");
// Boucle des requettes 
foreach ($reqs as $cle => $req) {
$request = 'http://domogeek.entropialux.com/'.$req;
//$scenario->setLog("requette: ".$request);
$request_http = new com_http($request);
$json=json_decode(trim($request_http->exec()),true);
$scenario->setLog($labels[$cle]." = ".$json[$fields[$cle]]);
$scenario->setdata($labels[$cle],$json[$fields[$cle]]);
}

Voila pou mon premier Tuto.
Un petit :+1: fait toujours plaisir. :smirk:

3 « J'aime »

:+1: bravo pour le partage !

Ça manque un tout petit peut d’explications, voir d’exemples pour les débutants pour entrée en catégorie Tutoriel !

mais merci

1 « J'aime »

Bonjour @olive
L’idée c’est de s’appuyer sur 3 tables,
requette
champs de la donnée
définitions des variables pour jeedom
Mon but premier était d’éviter les ressaisies dans le plugin script (json).
Pour les explications j’ai mis les commentaires des 3 tables et le lien Domogeek.
Il est vrai que la boucle peut paraitre concise mais je ne suis débutant en PHP,
loin d’être un formateur.
Si tu veux en faire un Tuto, c’est libre à toi pour expliquer la notion de clé ou autre.