2011-05-18 56 views
1

考慮PHP編碼約定和效率

<a href="<?php echo $url;?>"><?php echo $name;?></a> 

<?php echo "<a href=\"{$url}\">{$name}</a>";?> 

比較再考慮數以百計的這些不同的變化在同一頁上。

一個或另一個約定是否會影響 的性能或者只是一個偏好問題?

回答

4

此問題已得到很好的解決b安伏:Opening/closing tags & performance?

簡單地說,這裏是答案:

3 simple rules for you to get it right: 

- No syntax issue can affect performance. Data manipulation does. 
- Speak of performance only backed with results of profiling. 
- Premature optimization is the root of all evil 
+0

+1不說 「可能會影響性能」。 – 2011-05-18 21:10:51

+0

+1爲「過早優化」。但這不僅僅是語法問題,因爲php和inline-html之間的幾個上下文切換。 – KingCrunch 2011-05-18 21:12:22

+0

我注意到我的問題可能是重複的,我只是用不同的方式重新排列了問題,並沒有找到它。可能它應該被刪除。 – Mattis 2011-05-18 21:13:21

2

可能影響性能,但這決不應該影響你如何編寫好的和可讀的代碼。差異可以忽略不計。

只是我的2美分:第一個更可讀,如果我有大量的HTML,我只想集成一些變量。第二個更具可讀性,如果它只有一行或某物。

+0

+1說得好... – 2011-05-18 21:06:08

1

第一個示例將更快,因爲使用PHP回顯內容會在使用原始html顯示文本時增加一個小小的延遲。 但是,這種差異根本不明顯,我建議您使用選擇任何您喜歡的。

2

單引號(')比雙引號(「)來得更快,因爲解析器不要試圖找到字符串中的變量。
所以,我認爲第一個腳本是最好的方式。

0

一些約定可能會影響性能,如果他們調用不同的函數或者它們佔用更多空間(所以腳本在物理上佔用更多空間) - 但這完全可以忽略不計,只是一個偏好問題。它像Smarty或另一個模板系統 - 另一方面會影響性能。