在PHP中呈现页面:如何?

问题描述:

这可能是一个不适当的问题,但我认为让我看看:)在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

除非您有这样做的具体原因,否则我认为您应该考虑使用PHP生成HTML并将其直接发送到浏览器。 PHP是专门为此目的而构建的。

+0

我的印象是,在服务器端发送HTML(反过来生成它)将花费更多的时间,而不是在客户端生成HTML。这种差异如何影响网站的用户体验:) – Mayank

+0

肯定它会创建一些更多的数据在服务器和客户端之间进行传输,但是正如Kibbee所说,php是为生成html而创建的,而javascript并不是。您真的想尽可能多地解析服务器。 – Atheist

+0

PHP可以生成相同的HTML,其计算时间比使用Javascript少得多,因为在Javascript中,您操纵的是一个大的XML文档,而在处理PHP时,您基本上只是将字符串(恰好包含HTML)推送到输出缓冲区。 – Kibbee

我想你最好是去看看jQuery和更特定于该库的AJAX方法。另外,看看JSON,你应该都很好。

+2

也许你还想添加关于如何在服务器端将数据编码为JSON的信息(对于PHP,请参阅'json_encode'; http://php.net/manual/en/function.json-encode.php)。 – anroesti

您是否考虑过使用像Smarty这样的模板引擎? 使用起来非常简单,看一下速成班,你可能会喜欢它! http://www.smarty.net/crash_course