(30-09-2009, 03:34 PM)Anthor a écrit : Je me demandais ce que tu faisais des variables et de leurs portées...
Moi ? Je n'en fais rien puisque c'est MaxOhBalle qui utilise (utilisait !?) ce principe de concaténation
![Wink Wink](https://jeuweb.org/images/smilies/wink.png)
Comme dit, je l'utilise de manière différente : avec des nombres et au sein d'objets, sous la forme $ma_classe->{'attribut_'.$i++};
Et surtout dans des cas qui ne nécéssitent pas de recherche d'optimisation du temps d'execution, mais plutôt du temps de développement (ex : outils d'aide au développement, outils d'administration...) car un rapide test montre que c'est encore plus gourmand en temps :
ITERATIONS : 200000
ECRITURE
${'ma_variable_nommee_'.*} = value;
TIME > 0.2753
$var[*] = value;
TIME > 0.1547
$c->$('attr_'.*) = value;
TIME > 0.2741
LECTURE
$a = ${'ma_variable_nommee_'.*}
TIME > 0.1473
$a = $var[*];
TIME > 0.0605
$a = $c->$('attr_'.*);
TIME > 0.1779
p.s./edit
a la réflexion, je l'utilise aussi directement...
![Big Grin Big Grin](https://jeuweb.org/images/smilies/biggrin.png)
Et pour en revenir au thème "il ne faut optimiser que ce qui en vaut la peine"
Avant ce post je ne me posais même pas la question, mais petit test à l'appui :
ITERATIONS : 10000000
ECRITURE
$ma_variable = value;
TIME > 1.9332
$var[0] = value;
TIME > 2.5531
$var['id'] = value;
TIME > 2.8618
$c->mon_attr = value;
TIME > 3.8392
LECTURE
$a = $ma_variable;
TIME > 1.9275
$a = $var[0];
TIME > 2.4840
$a = $var['id'];
TIME > 2.7319
$a = $c->mon_attr;
TIME > 3.3629
d'après cela, une variable globale est presque deux fois plus rapide qu'un attribut de classe...
Pour autant je n'utilise et je n'utiliserai que des objets :nana: