2012-04-11 60 views
1

什麼是好/更快:直接HTML或PHP生成html

例如:

靜電/ HTML直接:

<?php 
for($i=0;$i<$sth;$i++) { 
?> 
<tr> 
<td> 
<?php echo $content; ?> 
</td> 
</tr> 
<?php 
} 
?> 

OR

PHP生成的HTML:

<?php 

for($i=0;$i<$sth;$i++) { 

echo "<tr><td>".$content."</td></tr>"; 

} 

?> 

我選擇哪個選項有什麼關係?

謝謝

+1

兩者都是PHP產生,你的標題是有點混亂:S – 2012-04-11 09:13:30

+0

字符串contatenation,如'回聲「​​」 $內容「」;'通常被認爲是一個壞主意,如果你能避免它。 ,所以第一種方法可能會給你更好的表現。但不要過早地不優化... – 2012-04-11 09:14:22

+1

速度差異可以忽略不計。如果您真的關心速度,請注意單引號更快(PHP解析雙引號字符串以進行字符串插值)。就我個人而言,我討厭打破PHP的循環,但這只是我個人的偏好。 – TRiG 2012-04-11 09:18:03

回答

4

這不是一個速度問題,它可能會根據用例而有所不同,但會使代碼變得乾淨和可維護。實際上,這兩個例子都使得代碼難以維護和閱讀。 我建議使用簡單和輕量級的模板引擎來分離演示文稿中的所有邏輯。

+1

沒錯。一個強大的MVC框架值得研究,即使是一個Web開發初學者! – 2012-04-11 09:15:41

0

第一種方法應該更快,因爲它不涉及很多字符串連接。在代碼可讀性方面也更好。

+0

秒會更可讀,如果你只是刪除「。」。在變量周圍,比第一種方法更少的代碼.. – Dion 2012-04-11 09:15:12

1

我認爲這兩者之間沒有實質區別,問題應該是「哪一個更具可讀性」恕我直言,我認爲使用php和html內聯遠不如回顯php可讀性強。但那只是我的想法。

-1

我認爲第一個解決方案:

它更清晰,不需要與字符串PHP闡述到dispplay簡單的靜態內容

1

更好:生成的HTML。使用php生成的html更容易維護,更易於閱讀。

更快:沒有顯着的速度差異。但是,在從數據庫加載內容等的大型動態網站上,事情可能需要多一點的時間來輸出。但是,你在更新靜態HTML文件所花的時間比編輯動態內容多了不少..

轉到動態:]

1

在這種情況下,「PHP生成的HTML」會更快,因爲你只是做一個回聲,在「STATIC/direct HTML」中,你正在做$ sth回聲。如果$ sth爲零,那麼「STATIC/direct HTML」會更快。

但嚴重的是,頁面被解析和優化/標準化,所以它沒有任何區別。較少的解析可能會更快,因爲上下文切換較少,但這是最小的部分(與運行它相比),因此它可以忽略不計。

只需選擇您感覺舒適的風格即可。

+0

在編寫我的評論時,原文有錯誤。 – 2012-04-11 09:21:56

1

兩個代碼代表相同的東西,不區分速度,但第二個代碼可能會快一點,因爲代碼不包含多個入口和出口標誌。

<?php ?> 

這將進行得更快。