如果HTML、CSS和Javascript是客户端,为什么它们是PHP文件的组成部分


If HTML, CSS, and Javascript are client-side, why are they components of a PHP file?

我经常听说与web开发有关的术语服务器端和客户端编程。他们说,服务器端和客户端在某种程度上是相互解耦的。据我所知,服务器端编程使用PHP、Rails、Node、ASP.NET等,而技术和客户端编程则使用HTML、CSS、Javascript等。

这是我从根本上感到困惑的地方。。据我所知,PHP文件可以包括HTML、CSS和Javascript。。。我的问题是:

如果服务器端和客户端编程确实是分开的,为什么PHP包括HTML、CSS和Javascript?如果所有这些都是在服务器PHP中完成的,那么客户端从哪里来?在一个运行在PHP服务器上的典型网站中,会有独立的HTML、CSS和Javascript文件不是PHP文件吗?客户端开发人员是否必须编辑PHP文件的HTML、CSS和Javascript部分,而服务器端开发人员则处理文件的PHP部分?

你的问题确实是很多人(网络开发人员)在生活中问的一个好问题。PHP确实是一个服务器端脚本,但.php扩展名在大多数情况下都像一个普通的.html文件。

PHP需要与JS和HTML合作才能工作

例如,一个登录表单。首先,客户端已经完成了表单并提交了它。然后JS掌权,使用ajax将您的登录信息发送到服务器(它可能是同一个文档xxx.php,但服务器只关心php脚本部分)。

然后,它从服务器发回一个结果,并可能在您的登录表单中插入一段JS,JS在其中授权用户并将其从HTML界面重定向到新网站。

正如您从上面的示例中看到的,客户端和服务器处理网页的方式不同,而不考虑其文件扩展名客户端无法下载PHP源代码,PHP服务器也不关心PHP代码本身。

单个web文件就像一个端口,客户端在其中向php页面发送信息,服务器返回一个片段。

客户端和服务器可以使用一个.php页面,也可以引用不同的页面,但服务器端的网页始终保持不变


如果服务器端和客户端编程确实是分开的,为什么PHP包括HTML、CSS和Javascript

因此,它可以将小东西紧凑地封装在一个网页中。客户端查看界面,服务器执行PHP代码。然而,不需要将所有内容都打包到一个网页中。

此外,客户端可以查看.php扩展,这样他们就知道自己将在某个时候在该页面上与服务器进行交互。此外,.php不需要包含PHP代码。

如果所有这些都是在服务器PHP中完成的,那么客户端从哪里来

客户端需要使用JS将信息发送到服务器以供其响应。

在一个运行在PHP上的典型网页上,会有独立的HTML、CSS和JavaScript文件不是PHP文件吗

是的,不需要PHP引擎解析的文件可以命名并存储为独立的HTML、CSS和JavaScript文件。

客户端开发人员是否必须编辑PHP文件的HTML、CSS和Javascript部分,而服务器端开发人员则处理文件的PHP部分

我将把你的问题改为"这样客户端浏览器就可以更改DOM,而服务器则处理PHP部分?"。没有"客户端开发者。只有客户端访问者"

部分正确。客户端下载网页,不使用服务器上的相同文件,在发送给客户端之前可以更改网页。客户端无法读取PHP源代码,服务器在向客户端发送网页之前已经完成了PHP代码的运行,因此两者不会一起运行。当客户端向服务器发送查询时,服务器只执行PHP。php文档在服务器上没有更改。PHP服务器响应后,通常会将信息发送回查看该特定网页的浏览器,并触发JS代码并更改网页的DOM,这意味着网页的外观会被修改。您可以将其解释为正在更改的"HTML、CSS和JS"。

如果所有这些都是在服务器PHP中完成的,那么客户端从哪里来?

WWW在服务器-客户端的基础上工作。

Web浏览器向Web服务器请求资源。Web服务器将这些资源发送到浏览器。然后浏览器对它们进行解释。

当您使用服务器端编程时,您只是通过编程生成这些资源,而不是从文件中读取它们。

因此:

  1. PHP将在服务器上运行并生成一些输出
  2. 它发送到浏览器的输出
  3. 浏览器解释输出

因此,输出必须采用浏览器能够理解的形式。

在一个运行在PHP服务器上的典型网站中,会有独立的HTML、CSS和Javascript文件不是PHP文件吗?

一般来说,CSS和JS将在静态文件中。HTML包含的数据可能是动态的(然后从PHP生成),因此可能来自PHP文件(尽管它们可能使用单独的模板文件来获得HTML结构)。

客户端开发人员是否必须编辑PHP文件的HTML、CSS和Javascript部分,而服务器端开发人员则处理文件的PHP部分?

有很多不同的工作方式。如果您将服务器端逻辑与客户端代码充分分离,那么这是一种可行的工作方式。

PHP需要在服务器上执行。PHP通常确定要导出到客户端的CSS/JS/HTML。因此它在PHP文件中。

HTML、CSS和JS实际上是在客户端执行的。它在您的PHP文件中的原因是,我们需要某种方式将代码交付给客户端。它不仅仅神奇地出现了。

CSS和JS甚至不必在PHP文件中。您可以使用HTML内含物让浏览器获取

例如。

<script src="/loc/of/js/file.js"></script> (JS)
<link href="/loc/of/css/file.css" rel="stylesheet"> (CSS)

当你使用PHP页面时,意味着你想在服务器中执行一些代码,同时你可以包含一些JS代码或CSS样式,但服务器不会执行它。所有的PHP代码都将被服务器剥离。CSS和JS代码将由浏览器进行解释,因为它们是前端代码。

PHP所做的就是创建包含css和javascript代码的html页面,并将其发送到客户端。现在php创建页面的方式在应用程序中有所不同。我希望它能有所帮助。