2011-09-30 111 views
1

這可能是一個不適當的問題,但我認爲讓我看看:)在PHP中呈現頁面:如何?

我正在寫一個PHP網站。每個頁面加載可能有10-20個數據庫請求。 使用數據庫查詢的結果我需要生成一個頁面。

該頁面將包含一個主題(應該是圖片或文本),然後是評論。可能有像這樣的多個主題。

目前,我使用數據庫結果創建一個字符串並將其發送到瀏覽器。 當瀏覽器接收到字符串(作爲ajax響應)時,它使用拆分函數進行解析並動態創建HTML。

我基本上是一個C++程序員;網絡開發相對較新。所以,我對JS對象沒有公正的理解。 JS變量可以保存多長時間的字符串?是否可以在客戶端使用拆分並生成HTML。

我沒有在服務器端生成完整的HTML,以避免由於字符串連接造成的任何開銷。我相信不會發送。的字符給客戶端(就像我在做的)比發送完整的HTML代碼更好。

是我的理解中的東西(或一切)錯誤:) 任何幫助表示讚賞。

編輯:
好吧,我會非常感激,如果我能在得到的意見是/否。你會推薦什麼。將HTML發送給客戶端或將在客戶端使用的字符串生成HTML?

+1

請注意,當用戶不支持JS時,該頁面將會變爲白色...... – ChrisH

+2

[JSON](http://www.json.org/js.html)(和[PHP]( http://php.net/manual/en/book.json.php))是向瀏覽器發送數據的一種非常常見的基於字符串的方式。 –

+0

@SiteSafeNL:那沒關係;我相信這種情況應該是2%或什麼的! – Mayank

回答

3

除非您有這樣做的具體原因,否則我認爲您應該考慮使用PHP生成HTML並將其直接發送到瀏覽器。 PHP是專門爲此目的而構建的。

+0

我的印象是,在服務器端發送HTML(反過來生成它)將花費更多的時間,而不是在客戶端生成HTML。這種差異如何影響網站的用戶體驗:) – Mayank

+0

肯定它會創建一些更多的數據在服務器和客戶端之間進行傳輸,但是正如Kibbee所說,php是爲生成html而創建的,而javascript並不是。您真的想盡可能多地解析服務器。 – Atheist

+0

PHP可以生成相同的HTML,其計算時間比使用Javascript少得多,因爲在Javascript中,您操縱的是一個大的XML文檔,而在處理PHP時,您基本上只是將字符串(恰好包含HTML)推送到輸出緩衝區。 – Kibbee

0

我想你最好是去看看jQuery和更特定於該庫的AJAX方法。另外,看看JSON,你應該都很好。

+2

也許你還想添加關於如何在服務器端將數據編碼爲JSON的信息(對於PHP,請參閱'json_encode'; http://php.net/manual/en/function.json-encode.php)。 – anroesti