当前位置: 首页 > 科技观察

“厌恶”的PHP:前途依然光明_0

时间:2023-03-12 13:29:02 科技观察

如今,厌恶PHP、推崇新技术(比如Node)几乎是天方夜谭。尤其是在年轻社区,PHP被认为是“恐龙”。PHP是一种很棒的编程语言。它并不完美,有利也有弊,但总的来说,如果你从事Web开发工作,你最好尝试去理解它,而不是随波逐流并讨厌它……你甚至可能从中学到一些东西!让我们来看看PHP和Node之间的差异,这些差异使许多人留在PHP平台上并使其他人转而使用不同的编程语言!社区PHP社区比Node社区更大。NPM/Node社区也很大,但是缺乏真正能维护和做好Node包的人。许多模块已弃用或不再更新。最糟糕的是,大多数模块都依赖于大量其他模块,这意味着如果您使用的模块依赖于包含错误的旧模块,您可能不知道,或者花费大量时间自己更新所有内容。这一点很重要,因为无论一种编程语言或框架有多好,如果没有人维护它,或者没有关于它的讨论、PR或开源项目,它最终都会消亡。PHP生态为您提供了大量的库:JWT认证、生成Excel电子表格和PDF、缓存管理、ORM框架……这些库被广泛使用,具有良好的安全性,并提供良好的文档。Symfony框架也提供了一些官方文档,比如LexikJWTAuthentication!事实上,大约80%的Web应用程序是使用PHP开发的。框架Symfony和Laravel这两个主要的PHP框架现在是网络的重要组成部分。美国流行Laravel,欧洲流行Symfony,如果除去WordPress,这两个框架占据了PHP生态的90%以上。这些框架比大多数Node框架更老,并且比现在的Node框架拥有更广泛的包和文档生态系统。使用Symfony有问题?第3版?第4版?这些都不是问题!大量StackOverflow帖子、Medium文章和官方文档可供您参考。Symfony和Laravel也提供了一些“基本的项目结构”,你当然可以不用它,你可以按照你想要的方式构建你的项目,但这些基本模式通常适用于许多类型的应用程序。在大多数情况下,我们可以通过配置来调整它们,以满足我们的各种需求。由于这些框架已经存在了好几年,您可能想到的大部分有用功能都已经存在,因为在您之前出现的开发人员与您有着相同的需求。以Express为例,它是Node最著名的框架,主要用来编写API,并没有提供强制结构。这意味着没有经验的开发人员更有可能构建不符合标准的东西,而PHP框架在这方面的风险要小得多。性能Node速度很快,在某些情况下比PHP还快,但PHP也不算太差。PHP8.1通过OPCache和JIT编译获得更快的执行速度。Node利用其异步特性来提高速度,但它是单线程的。PHP利用在多个线程上同步运行的优势。事实上,如今服务器的价格一般都不是很高,扩展Web应用程序从未像现在这样容易。对于小型Web应用程序,以当今的计算能力,性能不再值得花费太多时间。然而,对于大规模应用,价格可能是一个问题。这就是为什么将常用的PHP-FPM/Nginx堆栈替换为Swoole会是一个不错的选择。我见过一些PHP应用程序使用Swoole作为底层HTTP服务器,并且在性能上击败了Node!此外,使用消息队列是平衡应用程序工作负载的好方法,这可以使用PHP和Node.js轻松实现。易用性虽然Node/Express通常用于编写API并与使用React/Angular/Vue等框架构建的前端进行通信,但大多数PHP框架都采用了MVC模式。MVC代表模型视图控制器。一张图胜过一个长篇大论:如果你还不了解MVC,这里有一张图可以帮助你快速理解MVC模式。构建单独的应用程序通常比使用支持前后端技术栈的框架要慢。事实上,许多后端开发人员知道如何编写出色的HTML/CSS,但不熟悉React或其他框架的概念或语法。结束语PHP和Node各有优缺点。如果您需要稳定性、可靠性和长期支持,我推荐PHP。这些框架成熟且安全,在我看来是首选。但是,对于需要高吞吐量和实时数据处理的API,Node是一个不错的选择。此外,还有一些项目无法使用PHP完成,例如Discord机器人(尽管可能可以使用PHP完成,但已经有一个官方的JavaScript库...)programminglanguage,我们可以从中发现一些新的概念或做事的方式,然后将它们应用到其他的编程语言中。