为什么我们应该使用PHP?

为什么我们应该使用PHP?,php,javascript,html,Php,Javascript,Html,我刚刚开始学习HTML、JavaScript和PHP。在学习很少之后,我有时会想,“为什么我们需要PHP”?无论我们用PHP做什么,都可以用Javascript(我认为是这样,但我对此一无所知)。那么我们为什么要使用PHP呢?有人能向我解释一下它的用途吗?(如果这个问题完全是愚蠢的,而且答案很明显,我提前道歉——但正如我所说,我对网络一无所知) 无论我们能用PHP做什么,都可以用Javascript(我认为是这样,但我对此一无所知) 不,这不是真的。使用javascript不能做的一件事是连接到

我刚刚开始学习HTML、JavaScript和PHP。在学习很少之后,我有时会想,“为什么我们需要PHP”?无论我们用PHP做什么,都可以用Javascript(我认为是这样,但我对此一无所知)。那么我们为什么要使用PHP呢?有人能向我解释一下它的用途吗?(如果这个问题完全是愚蠢的,而且答案很明显,我提前道歉——但正如我所说,我对网络一无所知)

无论我们能用PHP做什么,都可以用Javascript(我认为是这样,但我对此一无所知)


不,这不是真的。使用javascript不能做的一件事是连接到服务器上的SQL数据库,这是web开发中的常见任务。

PHP是一种服务器端脚本语言。JavaScript在客户端运行

例如,您可以不在JavaScript中执行任何与数据库相关的操作。即使存在为JavaScript编写的数据库库,它们也没有任何用处,因为您的服务器无法信任客户端完成的数据库查询。例如,您不能在客户端删除论坛帖子,因为这样任何人都可以在管理员的伪装下删除这些帖子

PHP可以做很多JS做不到的事情。图像大小调整、在服务器上保存文件、数据库查询、电子邮件、PDF生成、安全登录系统、RSS解析、对web服务的SOAP调用,以及任何您不能信任客户端的内容(因为用户可以根据需要更改JS代码,而您无法控制)

它们是两种完全不同的语言,为不同的需要而设计


不过,也有一些JS服务器在服务器端运行JavaScript代码。这是这样一个系统的一个例子。然后,您不需要学习新的语言,但仍然需要区分客户端和服务器端的操作。

尽管PHP通常与HTML和Javascript在同一文件中联机编写,但PHP是一种服务器端语言。Javascript是一种客户端语言


对于一个自我描述的“noob”,我想不出比理解在服务器和客户端上运行的代码之间的差异更好的开始学习的地方了。

除了不能访问数据库之外,你也不想用JavaScript在客户端做任何事情。这对客户来说太多了;尤其是那些试图在旧电脑或移动设备上运行站点的用户。使用PHP,您可以在将HTML发送到客户端之前对其进行预计算。

PHP和JavaScript都是语言。如其他答案所述,它们分别用于服务器端和客户端脚本编写

然而,有一个转折点,应该提到。JavaScript实际上也可以在服务器端使用。这样的服务器运行时环境允许您这样做,并且可能允许您少使用一种编程语言


然而,客户端的限制保持不变。这是因为浏览器通常只实现JavaScript运行时。

JavaScript是一种客户端脚本语言。也就是说,它在客户端(本例中为web浏览器)中执行,并可以访问客户端计算机上的资源(如实际的键盘和鼠标输入等)。PHP是一种服务器端脚本语言。也就是说,它在web服务器上执行,并且可以访问web服务器计算机上的可用资源

其他组合也是可能的:

  • 有些web浏览器支持使用JavaScript以外的语言编写客户端脚本。(例如,Internet Explorer允许VBScript。)但JavaScript(或者更正式地说,ECMA-262 ECMAScript)是所有现代web浏览器上唯一一种现成支持的客户端脚本语言
  • 可以将PHP与非web浏览器的客户端一起使用。例如,PHP脚本可以生成XML而不是HTML,例如,RSS阅读器可以读取XML
  • 根据您的web服务器配置,服务器端开发有比PHP更多的选择。从Java EE和ASP.NET等“enterprisey”解决方案到PHP和Perl等轻量级语言,以及介于两者之间的一切
这里的主要区别是而不是PHP与JavaScript。这是客户端与服务器的对比。您不能在客户端上执行服务器操作,也不能在服务器上执行所有客户端操作

JavaScript是一种可嵌入的脚本语言,因此它可以在浏览器中运行,但也可以在服务器上运行

因此,您只需在服务器上运行它,就不再需要PHP了,我们该怎么做?


现在说JavaScript是客户端的,就像说Lua只用于脚本游戏一样。最大的区别是PHP在服务器上运行,JavaScript在客户端运行

爱丽丝和鲍伯认为服务器和客户端是两个人,并考虑以下两个场景:

  • 艾丽丝烤了一块蛋糕,送给鲍勃。这类似于使用PHP进行服务器端处理。鲍勃刚拿到蛋糕,不知道是谁烤的,也不知道怎么烤的。类似地,在浏览器中,您看到的只是PHP生成的最终输出,而没有看到“源代码”

  • 爱丽丝把配料和食谱寄给鲍勃,鲍勃在他家烤蛋糕。这类似于使用JavaScript进行客户端处理。浏览器从服务器获取JavaScript源代码并在计算机上执行

现在,两种情况下的最终结果相同,但情况可能并非总是如此:

  • 安全性:爱丽丝可能不想让鲍勃知道她的秘方,所以她总是烤蛋糕并发送出去。这就像使用PHP来隐藏