Forum eedomus
https://forum.eedomus.com/

transmission des arguments au script
https://forum.eedomus.com/viewtopic.php?f=62&t=10234
Page 1 sur 1
Auteur:  merguez07 [ 30 Nov 2020 20:57 ]
Sujet du message:  transmission des arguments au script

Bonsoir,

comme tout ceux qui programment des plugins, je suis souvent confronté au problème de la transmission des arguments lorsqu'ils sont supérieurs à trois
Avec 3 arguments pas de problème on peut mettre le premier argument en VAR1 , le deuxième de en VAR2 et le 3ème en VAR3.

Si vous en avez plus, on les met à la suite sur une variable, en prenant soin de séparer chaque variable par une virgule ou un tiret ..... Il faut après faire une traitement (explode) dans le script pour récupérer chaque variable.

Si cette méthode marche, elle n'est pas très lisible dans le périphérique où on ne sait plus à quoi correspond la série de chiffre dans le VAR

Alors comment faire ? si j'ai ouvert ce topic c'est parceque je viens de réaliser qu'il y a beaucoup plus simple

un exemple avec le plugin soleil étendu
l'URL de la requête est
http://localhost/script/?exec=extdsun.php&num=[VAR1]&longlat=[VAR2]&delay=[VAR3]
les variables sont
VAR1 1
VAR2 44.5455471,4.6760496
VAR3 30,06:00,09:00,17:00,23:00

Avouons que les données contenus dans VAR3 ne sont pas très parlantes

Autre forme d'écriture qui ne necessitera plus de ligne de code pour réaffecter les variables :
l'URL de la requête sera :
http://localhost/script/?exec=extdsun.php&[VAR1]&[VAR2]&[VAR3]
les variables seront
VAR1 num=1
VAR2 lat=44.5455471&long=4.6760496
VAR3 delay=30&heurelevemin=06:00&heurelevmax=09:00&heurecoumini=17:00&heurecoumax=23:00

Avouez que c'est plus clair (et simplifie le code)
Auteur:  KikiFUNstyle [ 30 Nov 2020 21:07 ]
Sujet du message:  Re: transmission des arguments au script

Moi je dis OUI !
Pas bête comme idée pourquoi ne pas y avoir pensé avant :p
Auteur:  thrymartin [ 01 Déc 2020 04:41 ]
Sujet du message:  Re: transmission des arguments au script

mon dieu, l'eau chaude de christophe colomb qui coupe l'oeuf du fil du beurre

excellent :-) !!!
Auteur:  opa95 [ 01 Déc 2020 10:26 ]
Sujet du message:  Re: transmission des arguments au script

Bonjour
Merci pour ce rappel qui devrait être utile à certains et que j'utilise depuis mes premiers scripts. Désolé, je n'avais pas pensé que ça aurait pu être utile à certains.
On peut aussi utiliser les "notes de l'utilisateur" ou alterner dans [VAR3] les "," et les ";". C'est vrai que le "=" est plus clair.
J'utilise souvent les notes de l'utilisateur et simplement l'initiale dans [VAR3] pour éviter les chaînes trop longues : il m'arrive d'avoir 6 valeurs à transmettre; exemple : T,1;C,2;H,3... mais c'est vrai que le "=" est plus parlant.
L'intérêt d'utiliser un symbole et "explode" est aussi de ne pas imposer l'ordre des valeurs ou de ne pas les mettre toutes, même si ça alourdit un peu le script.
Peut-être pourrions nous faire une rubrique "script B A BA" ou "astuces de script pour les nuls" où l'on pourrait mettre toutes les astuces, même les plus évidentes sans crainte du ridicule : ça pourrait être utile à des débutants et parfois à des moins débutants.
Auteur:  merguez07 [ 01 Déc 2020 19:14 ]
Sujet du message:  Re: transmission des arguments au script

opa95 a écrit:Peut-être pourrions nous faire une rubrique "script B A BA" ou "astuces de script pour les nuls" où l'on pourrait mettre toutes les astuces, même les plus évidentes sans crainte du ridicule : ça pourrait être utile à des débutants et parfois à des moins débutants.


c'est fait
Auteur:  dommarion [ 25 Juin 2023 18:39 ]
Sujet du message:  Re: transmission des arguments au script

Bonjour,
Lorsque les variables ne sont en fait que des paramètres fixes et indépendant de l'installation du plugin, alors il est possible de les transmettre sans utiliser VAR
exemple:
http://localhost/script/?exec=extdsun.php&num=[VAR1]&longlat=[VAR2]&delay=[VAR3]&debug=1
Lors de l'installation du plugin, certaines information peuvent être saisies et être mises aussi dans la requête. Elles seront fixes, mais dépendantes de l'installation.
On peut ajouter beaucoup de données à transmettre au script de cette manière là, il suffit de mettre tout cela dans le fichier JSON.
Bon dimanche
dommarion
Auteur:  opa95 [ 26 Juin 2023 08:09 ]
Sujet du message:  Re: transmission des arguments au script

Bonjour
dommarion a écrit:Bonjour,
Lorsque les variables ne sont en fait que des paramètres fixes et indépendant de l'installation du plugin, alors il est possible de les transmettre sans utiliser VAR
exemple:
http://localhost/script/?exec=extdsun.php&num=[VAR1]&longlat=[VAR2]&delay=[VAR3]&debug=1
Lors de l'installation du plugin, certaines information peuvent être saisies et être mises aussi dans la requête. Elles seront fixes, mais dépendantes de l'installation.
On peut ajouter beaucoup de données à transmettre au script de cette manière là, il suffit de mettre tout cela dans le fichier JSON.
Bon dimanche
dommarion

D'accord avec toi.
Lorsque les données sont peu variables (debug peut être nécessaire en cas de problème, mais pas tout le temps) j'ai tendance à utiliser la fenêtre de test pour activer certaines options et à stocker la plupart des données/paramètres (transmis dans la chaîne de commande ou les VAR) dans un tableau (par exemple $params) que je sauve en mémoire (saveVariable($mem,$params)) et que je récupère très simplement ($params=loadVariable($mem)). On peut donc adapter les paramètres depuis la fenêtre de test sans avoir à renvoyer ceux qui n'ont pas été modifiés. :)
Page 1 sur 1 Le fuseau horaire est UTC+1 heure