首页 > 自考资讯 > 高考百科

为什么人们不喜欢 PHP? 为什么人们不喜欢乌鸦

小条 2024-10-22

PHP 是一种用于Web 开发的超文本预处理器和通用脚本语言。尽管有些人认为PHP 已经过时,但Facebook、维基百科、Slack 和Etsy 等大公司仍在互联网上使用PHP。

JavaScript 的兴起以及React、Angular 和Vue 等框架和库的激增导致许多新开发人员出于各种原因使用它们而不是PHP。受此Twitter 帖子的启发,让我们来看看这些功能。功能、性能和协作方面涵盖PHP 和JavaScript。

ba4c07cb580f4d17b8d19a59e7460484~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1730168161&x-signature=AubPWNWCuz8G75t05iIIKbvdmV0%3D

PHP 的历史

由Rasmus Lerdorf 于1994 年首次开发,PHP 于2011 年遵循常规发布周期,功能:类型、JSON、命令行实用程序、Just-in 功能:PHP 作为一种灵活的服务器端技术,适合适用于各种用例。

JavaScript 形成于2000 年代初期,当时PHP 被广泛采用,JavaScript 作为一种语言日趋成熟,并且随着其他库和框架的引入,开发人员开始使用Web 开发,我开始将JavaScript 视为PHP 的替代品来满足我的需求。

PHP 提供了许多JavaScript 开箱即用的功能,例如条件分支、循环、类型、模块化和对象处理。 PHP 的一大障碍是JavaScript 的采用门槛较低。使用浏览器和您最喜欢的文本编辑器编写并运行JavaScript。然而,作为一种脚本语言,PHP 需要使用解释器和运行时。

实现 PHP

实现PHP 的方法有多种,但最常见的方法之一是Zend 引擎。要使用Zend 引擎,您需要一台运行PHP 编译器的机器。然后,您可以从您的托管位置提供Zend Engine。

JavaScript 可以使用Node.js 运行时处理前端和后端开发。前端项目直接在客户端浏览器中运行JavaScript。这意味着您可以从CDN 或静态文件位置提供JavaScript 代码。因此,您不需要成熟的服务器来托管您的内容。

同样,使用npm,您的后端项目的占用空间要小得多,并且可以在您的服务器上运行或使用来自各个云提供商的无服务器功能。

b63365607145491bab791223daf8a0d5~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1730168161&x-signature=LyoKkILMItcQcsu736VXPrXfGyU%3D

JavaScript 与 PHP:性能

JavaScript 和PHP 可以执行类似的功能,但在幕后您可以看到它们的真正区别。

JavaScript 是事件驱动的,并且具有允许异步活动的事件循环,因此您可以同时运行代码的多个部分,而不是同步运行JavaScript 代码(每一行一次执行),从而防止出现问题。主线程停止运行。此外,它还可以防止JavaScript 程序阻塞,并允许您使用回调函数和事件循环同时处理多个活动。

另一方面,PHP 是同步的,但能够进行多线程处理。 PHP 要求每行代码按顺序执行,理论上这会减慢程序速度,但有些人可能会认为PHP 的同步特性使其更易于使用。

考虑到JavaScript非阻塞实现的好处,我认为JavaScript在这方面比PHP更有优势。

JavaScript 与 PHP:集成

JavaScript 可以与多种Web 技术一起使用,包括HTML、XML、Ajax,甚至带有React 组件的JSX。 npm 和Node.js 运行时使JavaScript 开发人员可以轻松使用各种包。所有主要的前端框架和库(例如Angular、React 和Vue)都具有基于这些集成的独特功能。

另一方面,您还可以将PHP 与HTML 集成。这在WordPress 和Drupal 等CMS 平台中很常见。此外,PHP 还可以很好地与传统的LAMP 堆栈配合使用。与SQL 的集成是通过MySQLi 扩展实现的。

一般来说,JavaScript 和PHP 都可以在任何具有Web 浏览器的设备上运行,并且JavaScript 还具有Node.js 运行时的后端功能。有几个npm 包和框架允许您构建可以在服务器端运行的JavaScript API。

JavaScript 和PHP 都可以适应不同的需求,但JavaScript 尤其适用于各种平台,不需要太多额外的工作。

如果您想在网页中使用JSON 数据或注入代码,则设置PHP 需要后端和必要的标签来包装语句。

JavaScript 与 PHP:特性

JavaScript 和PHP 提供许多相同的内置功能,包括:

条件语句的循环转换,即字符串到整数的转换等。模块化,即函数和方法的对象。 PHP 和JavaScript 之间的区别在于JavaScript 的非阻塞性质允许程序具有低延迟并同时处理许多操作。您可以使用Promises 和RxJS observables 等来控制行为。

JavaScript 还包含范围的概念,它使您可以控制变量和数据点。

当您有一个包含许多模块和功能的大型项目时,范围非常强大。

让我们通过一个例子来尝试一下。 helloWorld 函数有一个局部作用域变量message ,该变量只能在该helloWorld 函数内使用。如果您尝试访问函数外部的变量,只要您遵守变量的范围和用法,它将返回未定义的值。您可以在多个地方使用相同的变量名称。这是JavaScript的一大优势。

function helloWorld() { const message='你好,这是一个局部作用域变量'; console.log(message);}//这是'你好,这是一个局部作用域变量' helloWorld();//这是一个error console.log(message) 表明消息变量未定义;PHP 通常使用$variablename 并遵循与JavaScript 类似的结构。在PHP 中,您还可以使用echo 写出值,如以下代码片段所示。

function helloMessage(string $messageValue): string{ return 'hello '.$messageValue;}echo helloMessage('first message');

JavaScript 与 PHP:协作

PHP 和JavaScript 都有强大的社区支持。有无数的在线博客和视频供开发人员在开始或解决问题时参考。此外,所有主要的JavaScript 框架和库(包括Angular、React 和Vue)都是开源的,并且拥有定期更新其存储库的开发团队。 PHP 也是开源的,许多GitHub 项目都包含它。

efe1df6e77f54386af702d51bace8a14~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1730168161&x-signature=jqk1LG5bpSo5tnSQP7nsjCDUfy0%3D从开发人员体验的角度来看,JavaScript 通常需要更多的背景知识。使用JavaScript 通常需要了解事件循环和其他Web 技术,例如CSS 和HTML。

所有这些技术都是运行互联网的框架的一部分,因此学习它们不一定是一项糟糕的投资。此外,一旦您熟悉了JavaScript,您就有了广泛的项目选择。

另一方面,PHP 更简单,不仅是同步的,而且它的模型遵循更传统的后端技术,例如Java 和C。但是,它需要运行PHP 解释器的服务器或环境,通常还需要运行LAMP 堆栈的其余部分。

在协作方面,我发现在JavaScript 项目中进行团队合作更容易。造成这种情况的主要原因是很少有工具可以完成这项工作。此外,在线编码平台和环境的出现使事情在需要时变得更加容易。要协作开发PHP 项目,您需要先设置工作环境,然后才能运行代码。

哪一个更好?

JavaScript 和PHP 都可以满足广泛的需求。 PHP 仍然被广泛使用的事实表明它对许多网站具有巨大的价值。争论不应该是哪个更好,而应该是哪个更好。有必要。

578bcf78009c4dc0ba5e5021e001107e~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1730168161&x-signature=FDJNDiQSRGHFrTzS3CWhzL6JXSE%3D 如果您的团队已经在使用LAMP 堆栈,那么PHP 是一个不错的选择。如果您的团队对LAMP 堆栈不是很熟悉并且后端经验很少,那么JavaScript 是最佳选择。

我个人喜欢在我的项目中使用JavaScript。我喜欢将技能从React 转移到后端Node.js API 是多么容易。能够直接在浏览器中运行代码也很棒。也很容易在各种平台上启动和启动。 JavaScript。

许多开发人员仍然更喜欢PHP 并找到了很好的用例。归根结底,这取决于个人团队和项目。

总结

本文概述了PHP 和JavaScript,并回顾了各自的优缺点。

版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢