web-dev-qa-db-fra.com

Utilisation de get_bloginfo ('template_directory') ou d'une variable - problème de performances

Puis-je vous poser des questions sur les performances de ces deux approches en termes de vitesse d'exécution et de charge du serveur?

approche 1:

<img src="<?php echo get_bloginfo('template_directory'); ?>/data1/images/1.jpg">
<img src="<?php echo get_bloginfo('template_directory'); ?>/data1/images/2.jpg" />
<img src="<?php echo get_bloginfo('template_directory'); ?>/data1/images/3.jpg" />

approche 2:

<?php $variable= get_bloginfo('template_directory'); ?>
<img src="<?php echo $variable; ?>/data1/images/1.jpg">
<img src="<?php echo  $variable; ?>/data1/images/2.jpg" />
<img src="<?php echo $variable; ?>/data1/images/3.jpg" />

La réponse à cette question me sera très utile puisque je rencontre de tels cas à plusieurs reprises au cours du développement de Wordpress. Le temps nécessaire pour obtenir un contenu variable est-il inférieur au temps nécessaire pour interroger la base de données pour obtenir des informations sur le blog?

Il n'y a pas de différence de performances, car le résultat de get_bloginfo() provient de toute façon d'un cache interne, car la plupart (toutes?) Des valeurs renvoyées proviennent d'appels get_option(), et ceux-ci sont mis en cache en interne avec wp_cache_set() et extraits avec wp_cache_get(). Voir Explorer l’API de cache WordPress .

Même s'il y avait une différence, ce serait trop petit pour être pertinent.

La différence la plus importante est la lisibilité. C'est plus facile à lire et moins sujet aux erreurs:

$template_dir = get_template_directory_uri(); 

foreach ( array ( 1, 2, 3 ) as $n )
    echo "<img src='$template_dir/data1/images/$n.jpg' alt=''>";
3
fuxia