web-dev-qa-db-ja.com

Get_bloginfo( 'template_directory')または変数を使用する - パフォーマンスの問題

実行速度とサーバー負荷の観点から、これら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=''>";
3
fuxia