【发布时间】:2012-08-26 00:09:39
【问题描述】:
我正在学习互联网和网站的运作方式。我想我了解 PHP 处理器如何处理 .php 文件:
浏览器请求以 .php 结尾的网页并将请求发送到该网页的服务器。
服务器询问“我能找到那个页面吗?”
如果服务器没有找到它,服务器将返回错误。
如果服务器找到页面,服务器会询问“文件扩展名是否以 .html 或 .php 结尾”?
如果它以 .html 结尾,服务器将页面发送回浏览器。
如果它以 .php 结尾,则将页面交给 PHP 处理器。
PHP 处理器逐行扫描页面。它构建了一个经过处理的 HTML 页面。
如果它找到 HTML,它会将其作为它正在构建的已处理 HTML 页面的一部分传递。
如果找到 PHP 脚本,PHP 处理器可能会也可能不会输出 HTML。
PHP 处理器完成后,将处理后的页面交给 Web 服务器发送到浏览器。
HTML 是否仍然为 .php 文件提供结构,就像 HTML 为也使用 CSS 的网页提供结构一样?当我说结构时,我的意思是划分,以及头部和身体部分。结构与网页的基本骨架一样。似乎在某些网页上,PHP 比 HTML 还多。有时只有最低限度的 HTML,剩下的就是 PHP 和 Javascript,这就是网页的制作方式吗?
总之,包含 PHP 代码的网页需要具有 .php 扩展名。一旦 PHP 处理器遇到 <? PHP 或 <?,服务器将代码发送到 PHP 处理器(这个措辞可能是多余的)。 PHP 处理器的输出可以是任何东西。
任何东西都包括:
- CSS
- HTML
- Javascript?
- XML?
- XHTML?
- 图片
- 声音?
- 视频?
- flash 等动画?
显然可能需要强制内容类型,但可以做到。
HTML 是所见即所得。
要在网页到达用户浏览器后对其进行控制和操作,可以使用 Javascript。随着移动设备和几种不同类型浏览器的出现,发明了 jQuery 以使开发 Javascript 程序更容易。
【问题讨论】:
-
PHP 不是 HTML 的替代品。如果要表示网页,则需要使用 HTML 标记。 PHP 只是一种编程语言(在此上下文中)用于动态生成 HTML 标记。因此,如果您请求一个 PHP 文件,并期望返回一个网页,则 PHP 脚本必须生成 HTML 标记并在响应中发送它。您可以将 HTML 标记直接放入 PHP 文件中,也可以使用模板引擎(或手动技术)根据数据库中的数据生成 HTML 标记。
-
简而言之,HTML 是一个输出,PHP 只是一个创建它的工具。