(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
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...
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: