外链论坛

 找回密码
 立即注册
搜索
查看: 4|回复: 0

PHP 没你想的那样差

[复制链接]

2993

主题

2万

回帖

9915万

积分

论坛元老

Rank: 8Rank: 8

积分
99159217
发表于 前天 15:23 | 显示全部楼层 |阅读模式

PHP此刻名声很糟糕,由于它曾经是“可怕”的。本文试着回答有些平常的关于 PHP 的断言,目的是向非技术人员解释,PHP 并不像许多人所说的那样糟糕。

它是不是鼓励糟糕的实践?

再也不是了。过去,许多研发者被书本教授非常糟糕的实践,因此呢 PHP 代码的质量非常差。PHP 曾经还准许你做有些非常奇怪的事情,使得它非常容易构建,但守护起来却是一场噩梦。

这些再也不平常的问题。随着高质量学习材料的引入,这些材料易学且易获取,一名新的研发人员能够以正确的方式学习 PHP。这般能够避免初级研发由于晓得构建事物的正确办法而编写有些守护起来非常痛苦的代码。

随着框架的引入,引起许多糟糕体验的大部分通用代码此刻都自动完成为了因此呢研发人员只需运用框架,框架就能够正确地对其进行编码。

况且,这些年来,有些糟糕的实践是由于缺失的特性导致的,引起有些不该该被准许的事情被准许此刻都数状况下,乃至不可能实现以前编写的有些东西来引起这种声誉。

小结

再也不鼓励糟糕的实践...经过运用框架避免了糟糕实践。语言特性此刻有很多讨论。糟糕的特性再也不受到支持。PHP 添加了其他语言中存在的大部分(即使不是所有)的特性。

它的安全性是不是很差?

过去,PHP应用程序的安全性一般很差,由于语言准许这般做。这些东西再也不运用由于 PHP 应用程序的开发掘已然完全区别

经过运用自动加载程序来包括文件而不是动态包括文件,已然移除了远程和本地文件包括(其中 PHP 从其它位置而不是最初打算的位置读取文件)。

经过广泛运用模板系统(能够自动处理表示动态内容的转义和安全问题),已然避免了因为直接在 PHP 中直接运用 HTML 所引起的跨站脚本攻击(其中一个用户将 JavaScript 脚本添加到要表示给另一个用户的地区)。

经过在 SQL 中运用 prepared 语句,避免了 SQL 注入攻击(这是因为需要构建 SQL 查找并将查找和数据一块发送引起的,其中用户能够查找增多额外的 SQL 命令)。另一,ORM 的运用广泛,它保证用户数据和查找是分研发送的,而 SQL 不可将其视为单独的命令。

经过广泛运用且采用 nonce 系统的 form 库,避免了跨站请求伪造(其中,用户能够被诱骗在你的站点上执行某些操作)。

小结

再也不是了。经过运用自动加载程序(所有主流框架的标配),避免了远程和本地文件包括经过运用模板语言做为标准或一种前端框架(例如 React),避免了跨站脚本(XSS)攻击。经过运用 ORMs 和广泛运用 prepared 语句,避免了 SQL 注入。经过运用 nonce token(被所有主流框架自动支持),避免了跨站请求伪造(CRSF)攻击。

它是不是真的很慢?

这取决于你把它与什么比较。倘若你把 PHP 与 Java、C Go 比较,那样它是比较慢。然则倘若你把 PHP 与 Python、Ruby 等等比较,那样它并不慢。在同类型的语言中,PHP 是最快的之一,并且持续加强性能。

都数状况下,你的应用程序慢是由于服务器过载数据库查找慢。这些问题在任何语言中都会存在。

小结

PHP 与编译型语言相比是比较慢。PHP 与其它脚本型语言相比是比较快的。网站慢一般不是因为运用的语言不足快,而是由于服务器或数据库引起的性能问题。

它的伸缩性是不是真的很差?

实质上,任何语言都能够伸缩。编译型语言(例如 Go、C 或 Rust)比脚本型语言(例如 PHP)的扩展成本更低。然而,它们并不是为了一样的任务而设计的。事实上,它们都是同样的;这简单地归结于你运用的服务器数量。倘若运用足够多的服务器,你能够扩展任何应用程序。PHP 比其它脚本型语言的扩展成本更低,由于它需要更少的资源来起始运行,并且能够拥有更加多 CPU 的较小内存的服务器上运行。

另一针对伸缩性,重要的是数据库。倘若你能够扩展你的数据库,你就能够扩展你的应用程序。数据库比应用服务器更难扩展。增多另一个读取数据库的客户端很容易;但是,让数据库快速运行要难得多。

小结

任何语言都能够伸缩;这取决于你运用多少服务器。扩展的真正问题是数据库而不是所运用的应用程序语言。倘若你能够扩展你的数据,你就能扩展你的应用程序。

我应该始终运用它吗?

不。每种编程语言都有其善于行业。PHP 非常适合 Web 应用程序。你应该用它来构建网站和 API。

倘若你正在构建一个系统应用程序,其中每毫秒都很重要,运用 Rust C。

倘若你正在构建一个人工智能应用程序,Python 是一个好选项。

倘若你正在构建一个 SaaS 应用程序,PHP 是一个好选项。

倘若你正在构建一个安卓应用程序,Kotlin 是一个好选项。

倘若你正在构建一个运行在多个平台上的应用程序,Java 是一个好选项。

小结

不,每种语言都有其最佳用例。PHP 的最佳用例是 Web 应用程序。Go、Rust、C 适合系统应用程序。Python 适合人工智能。Kotlin 适合安卓应用程序。Java 适合与平台无关的应用程序。

结论

非常多关于 PHP 的说法都已然过时 10 年了。在咱们看来,倘若有人给你关于某个技术主题的过期 10 年的信息,那样这个人可能不是你想要信任的技术专家。

PHP 是创建 Web 应用程序的一门好编程语言,咱们认为它是 Web 应用程序研发的最佳语言。

小结

这些抱怨中非常多都过期 10 年了。咱们认为 PHP 是构建 Web 应用程序的最佳语言。

原文链接:

https://www.getparthenon.com/blog/php-isnt-that-like-really-bad/

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-5 21:43 , Processed in 0.069300 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.