【问题标题】:Why we should use PHP?为什么我们应该使用 PHP?
【发布时间】:2011-05-16 22:23:26
【问题描述】:

我刚刚开始学习 HTML、JavaScript 和 PHP。学了一点之后,我有时会想,“为什么我们需要 PHP”?无论我们可以使用 PHP 做什么,都可以使用 Javascript 来完成(我认为是这样,但我对此并不陌生)。那么我们为什么要使用 PHP 呢?任何人都可以向我解释它的用途吗?(如果问题完全愚蠢并且答案非常明显,我提前道歉 - 但正如我所说,我是网络新手)。

【问题讨论】:

  • 现在,在人们继续错误地声明 JavaScript 仅在客户端运行之前,一些教育材料:secure.wikimedia.org/wikipedia/en/wiki/Server-side_JavaScript
  • Javascript 是为了操作 Html DOM(文档对象模型)而创建的,DOM 是在浏览器解析 HTML 之后创建的。
  • 服务器端 Javascript 于 1994 年首次发布(在为浏览器发布 JavaScript 之后不久)......我不认为 js 的内涵不仅仅是客户端执行。

标签: php javascript html


【解决方案1】:

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

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

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

它们是两种完全不同的语言,针对不同的需求而设计。

然而,有一些 JS 服务器在服务器端运行 JavaScript 代码。 Node.JS 就是这种系统的一个例子。这样你就不需要学习一门新语言,但你仍然需要区分你在客户端所做的事情和你在服务器端所做的事情。

【讨论】:

  • taffydb.commongodb.org 等等。所以,有 ARE 为 JavaScript 编写的数据库库 =) JS 不能只处理 FS 和 OS 操作 (afaik) =) 注意:PHP 死了 - 有很多很棒的替代品,它们更强大、更安全,简单,可重用等比PHP(例如Rails,Django ...)=)
  • @Ramon 虽然它们肯定是 PHP 的绝佳替代品 =)
  • 您所说的实际上并不正确。您可以在数据库中创建像“guest_user”这样的用户,并仅授予他对某些表的选择权限,因此它无法访问数据库中的每个表,也无法编辑/更新表。 DBMS 有很好的用户访问控制,因此不需要 php。
  • 你也可以做任何类型的请求,你可以用 javascript 的 curl 做,所以如果你想这样做就不需要 php。
  • 图像大小调整也可以通过 javascript 实现。您编译的列表中唯一(我认为)不可能的是从 javascript 上传文件。其他一切皆有可能。所以对于一个新人,我建议专注于学习 javascript,因为你可以用一种语言涵盖几乎所有的东西,而你不能使用 node.js 或类似的解决方案。
【解决方案2】:

这里的主要区别是 不是 PHP 与 JavaScript。这是客户端与服务器。你不能在客户端做服务器的事情,你也不能在服务器上做所有客户端的事情。

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

所以您只需要在服务器上运行它,就不再需要 PHP,我们该怎么做?
Node.js

现在说 JavaScript 是客户端,就像说 Lua 仅用于脚本游戏

【讨论】:

    【解决方案3】:

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

    对于一个自称为“菜鸟”的人,我想不出比了解在服务器和客户端上运行的代码之间的区别更好的教育起点了。

    【讨论】:

    • +1 是的,要理解的基本点。一个相当现代的问题,因为许多新程序员将客户端-服务器架构作为他们的第一个呼叫端口。当我了解到它们不常见且先进时,在单用户领域进行了多年的学习,然后才将自己暴露于其中。
    • 我不同意“PHP 通常内嵌在与 HTML 相同的文件中”。这可能是它最初的用例,但是专业的 PHP 程序员使用抽象和框架(就像在其他语言中一样)将内容与结构、控制器与视图分开。在 2010 年回答这个问题时确实如此,现在仍然如此。
    【解决方案4】:

    最大的区别是PHP运行在服务器端,而JavaScript运行在客户端。

    将服务器和客户端想象成两个人,比如 Alice 和 Bob,并考虑以下两种情况:

    • Alice 烤了一个蛋糕并发送给 Bob。这就像使用 PHP 的 服务器端处理。鲍勃刚拿到蛋糕,不知道是谁烤的,也不知道怎么烤的。同样,在您的浏览器中,您看到的只是 PHP 生成的最终输出,您看不到“源代码”。

    • Alice 将配料和食谱发送给 Bob,Bob 在他家烤蛋糕。这就像使用 JavaScript 的客户端处理。您的浏览器从服务器获取 JavaScript 源代码并在您的计算机上执行它。

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

    • 安全性: Alice 可能不希望 Bob 知道她的秘方,所以她总是烘烤蛋糕并发送出去。这就像使用 PHP 来隐藏服务器上发生的事情的细节。

    • 资源: Bob 可能没有必要的工具(例如烤箱)来烤蛋糕,所以 Alice 为他做。这就像使用 PHP 连接数据库一样,因为 JavaScript 无法访问数据库服务器。

    【讨论】:

      【解决方案5】:

      PHP 设计为服务器端脚本语言,JS 设计为客户端。 当然,如果你真的想的话,你也可以将 JS 用于服务器端。如果你搬到荷兰,你也可以学习德语而不是荷兰语,因为很多人都说德语,这不是最有效的交流方式。当然,使用单一语言比学习 PHP 和 JS 更容易。德语也是如此,世界上更多的人说德语,但是在荷兰逗留很长时间,了解荷兰语是值得的。如果你打算只做一个网站,那么单独坚持 JS 可能是最好的选择。另一方面,如果您打算成为一名认真的 Web 开发人员,那么无论如何最终了解 PHP 都是值得的。我说,学习两者都是值得的。

      【讨论】:

        【解决方案6】:

        无论我们可以通过 PHP 做什么,都可以使用 Javascript 来完成(我认为,但我对此很陌生)。

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

        【讨论】:

        • OFFF,我在javascript中研究过这个,然后我忘记了。所以数据库连接是使用PHP的主要原因,或者还有更多?
        • @r.s. mahanti:嗯,老实说,它们完全不同。 Javascript 是一种客户端语言,PHP 是一种服务器语言。他们不打算做同样的任务。
        • 还有其他原因,例如在客户端存储数据不是很安全,因为每个人都可以看到它,而如果您使用服务器端存储,您将能够获取数据,即只有当前用户才能看到。
        【解决方案7】:

        PHP 和 JavaScript 都只是语言。正如其他答案所提到的,它们分别常用于服务器端和客户端脚本。

        但是,有一个转折点,应该提到。 JavaScript 实际上也可以在服务器端使用。有一些服务器运行时环境(例如 node.js)允许您这样做,并可能让您少使用一种编程语言。

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

        【讨论】:

          【解决方案8】:

          除了无法访问数据库之外,您不会想要使用 JavaScript 在客户端完成所有操作。对客户来说处理太多了;尤其是那些试图在旧计算机或移动设备上运行您的网站的人。使用 PHP,您可以在发送到客户端之前预先计算 HTML。

          【讨论】:

            【解决方案9】:

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

            其他组合也是可能的:

            • 某些 Web 浏览器支持使用 JavaScript 以外的语言编写客户端脚本。 (例如,Internet Explorer 允许使用 VBScript。)但 JavaScript(或更正式地说,ECMA-262 ECMAScript)是所有现代网络浏览器开箱即用的唯一客户端脚本语言。
            • 可以将 PHP 与非 Web 浏览器的客户端一起使用。例如,PHP 脚本可以生成 XML 而不是 HTML,并且 XML 可以被 RSS 阅读器读取。
            • 根据您的 Web 服务器配置,服务器端开发的选择远不止 PHP。这些范围从像 Java EE 和 ASP.NET 这样的“企业”解决方案到像 PHP 和 Perl 这样的轻量级语言,以及介于两者之间的一切。

            【讨论】:

              【解决方案10】:

              PHP 和 javascript 都是脚本语言。但是php绑定到服务器端,javascript绑定到客户端。如果用户想要使用 PHP 站点,他/她不需要做任何事情,因为托管 php 应用程序的服务器承担了其中涉及的计算。就用户而言,它只是纯 HTML。

              但在 Javascript 的情况下,处理 javascript 请求所需的计算由用户自己的处理器处理,另外还有一个问题是在该特定人的浏览器中启用了 javascript。使用php没有这样的问题。所以php更好。我希望我有所帮助。祝你好运...

              【讨论】:

                猜你喜欢
                • 2011-04-22
                • 1970-01-01
                • 1970-01-01
                • 2018-01-15
                • 1970-01-01
                • 2018-06-02
                • 2011-03-11
                • 2013-07-22
                • 2011-07-04
                相关资源
                最近更新 更多