在許多WordPress主題和框架,我發現這行代碼:調用函數多次或儲存返回值,性能方面
<!--[if lt IE 7]><html <?php language_attributes(); ?> class="no-js lt-ie9 lt-ie8 lt-ie7"><![endif]-->
<!--[if IE 7]><html <?php language_attributes(); ?> class="no-js lt-ie9 lt-ie8"><![endif]-->
<!--[if IE 8]><html <?php language_attributes(); ?> class="no-js lt-ie9"><![endif]-->
<!--[if gt IE 8]><!--> <html <?php language_attributes(); ?> class="no-js"><!--<![endif]-->
我注意到了language_attributes()
我認爲多個呼叫是即使花費不必要的時間這樣一個簡單的功能,所以我用這個代碼:
<?php ob_start(); language_attributes(); $language_attributes = ob_get_clean(); ?>
<!--[if lt IE 7]><html <?php echo $language_attributes; ?> class="no-js lt-ie9 lt-ie8 lt-ie7"><![endif]-->
<!--[if IE 7]><html <?php echo $language_attributes; ?> class="no-js lt-ie9 lt-ie8"><![endif]-->
<!--[if IE 8]><html <?php echo $language_attributes; ?> class="no-js lt-ie9"><![endif]-->
<!--[if gt IE 8]><!--> <html <?php echo $language_attributes; ?> class="no-js"><!--<![endif]-->
<?php unset($language_attributes); ?>
避免調用language_attributes()
多次,但更多的我看到使用了更多的,我懷疑我的決定的第一圖案,所以我決定問專家意見上。
所以,這裏是我的問題:
在更廣泛的方面- 不侷限於此特定的功能 - 如果函數做精確的每一次
什麼是過多次調用一個函數的好處存儲返回值?
一樣,有沒有在php
一些隱藏的緩存機制,那些運行時間的函數調用所以這樣我就不需要存儲返回值的緩存。
wordress並不完全知道*性能* – 2014-09-30 19:46:24
性能明智,你應該剖析網站,並修復造成問題的東西。除非你有充分的理由(例如,如果你知道速度很慢),否則你不應該注意這類東西。 – 2014-09-30 19:48:59
如果你自己寫自己,你永遠不會這樣做,但如果你想要超級靈活並容納所有的廣告,模板等有時候會發生這種情況,它是生活中的一種折衷 – 2014-09-30 19:50:32