JeuWeb - Crée ton jeu par navigateur
Appel du nom d'une fonction via bdd ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Appel du nom d'une fonction via bdd ? (/showthread.php?tid=558)

Pages : 1 2


RE: Appel du nom d'une fonction via bdd ? - Plume - 23-12-2006

Aramiil a écrit :ça dépends de ce que tu as à faire et de comment tu le fais. Oh, d'ailleurs, puisqu'on est sur ce sujet, il y a aussi ça dans le même genre :

Code PHP :
<?php
$toto
= 'Bonjour';
$tata = 'toto';
echo $
$tata; //équivalent de echo $toto; ça affichera Bonjour
?>

Ce genre de syntaxe peut très vite être très lourd, mais ça évite parfois d'imbriquer des if...then...else toutes les deux lignes. à la place, une concaténation de variables et hop ! le tour est joué.

Je me trompe peut-être mais ce n'est pas ce qu'on appelle les variables dynamiques ? J'en ai pas bien saisie l'utilité. ..


RE: Appel du nom d'une fonction via bdd ? - blackduty - 23-12-2006

Si, c'est bien ce que l'on appelle "variable dynamique" ! (je viens de tomber dessus en potassant mon nouveau bouquin sur php5 Wink )

Par contre, pour son utilité, je vois pas vraiment... d'après le bouquin, il parait que c'est très utile dans les cas où l'on souhaite accéder aux données de variable dont les noms sont reconstitués dynamiquement. (extrait du livre Php5 de Sebastien Lecomte. Edition: Poche Micro. Editeur: First interactive.)


RE: Appel du nom d'une fonction via bdd ? - Aramiil - 23-12-2006

Cela sert par exemple à créer du code sur des variables dont tu ignores le nom. Par exemple si tu as récupéré les informations sur du code à executé par la fonction eval() et que tu peux avoir plusieurs variables à utiliser, cela permet d'indiquer laquelle est la bonne et donc de rendre plus libre la structure. Pour prendre un exemple inspiré de ce que je connais, dans cardobar, j'ai 72 cartes qui ont toute un effet différent, et que je créé petit à petit (j'en créé encore toutes les semaines). Le problème est qu'il y a plusieurs personnes, dont une n'est pas habituée au php, qui créent ces scripts. Comme ils sont assez simples, ce n'est pas très dur, mais un problème se pose : les variables

Plutôt que de devoir se souvenir de tous les noms de variables que j'utilise dans les scripts, et sachant que je ne veux pas devoir modifier directement le tableau correspondant aux informations du joueur (pour permettre de jouer contre l'ordinateur, parce qu'il faut inverser la personne qui as la carte à ce moment-là), je pourrais mettre la structure suivante :

- Le formulaire contient un champs "variable de dégats" et un champs "variable de pouvoir".
- Les créateurs de cartes mettent par exemple "degats" dans "variable de dégats" et "pouvoir" dans variable de pouvoir.
- Un exemple de script de carte tout bête :
Code PHP :
<?php 
$degats
= 200;
$pouvoir = 50;
ce qui permet de diminuer de 200 les points de vie de l'ennemi et de 50 ses points de pouvoir.
- Mon script pour utiliser la carte, si $script contient le script ci-dessus, et $var_degat et $var_pouvoir contiennent les deux noms des variables, serait alors celui-ci :
Code PHP :
<?php 
eval($script); //Là je récupère les valeures des variables
$ennemi['avie'] -= $$var_degat; //Là j'enlève à l'ennemi (avie contient la vie actuelle) la quantité de vie demandée)
$ennemi['apouv'] -= $$var_pouvoir; //Et là la quantité de pouvoir.

Ce qui me permet de rester libre dans la structure et de demander moins d'efforts aux créateurs de cartes. Bon je dis ça mais c'est pas cette structure que j'utilise ^^" mais c'est un exemple où les variables dynamiques seraient très utiles.