実行速度とサーバー負荷の観点から、これら2つのアプローチのパフォーマンスについてお聞かせください。
アプローチ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" />
アプローチ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" />
私はWordpressの開発中に何度もそのようなケースに遭遇するので、この質問に対する答えは私にとって非常に役に立つでしょう。可変コンテンツを取得する時間は、データベースにブログ情報を照会する時間よりも短いですか。
get_bloginfo()
の結果はとにかく内部キャッシュから来るため、パフォーマンスの違いはありません。なぜならほとんどの(全ての)戻り値はget_option()
呼び出しから来ており、これらはwp_cache_set()
で内部的にキャッシュされ、wp_cache_get()
でフェッチされるからです。 WordPress Cache APIの探索 を参照してください。
違いがあったとしても、それは関連性があるには小さすぎます。
もっと重要な違いは読みやすさです。これは読みやすく、エラーが少なくなります。
$template_dir = get_template_directory_uri();
foreach ( array ( 1, 2, 3 ) as $n )
echo "<img src='$template_dir/data1/images/$n.jpg' alt=''>";