大家对PHP的误解有哪些?


大家对PHP的误解有哪些?

文章插图
PHP 现在名声很糟糕,因为它曾经是“可怕”的 。
本文试着回答一些常见的关于 PHP 的断言,目的是向非技术人员解释,PHP 并不像许多人所说的那么糟糕 。
1、它是不是鼓励糟糕的实践?
不再是了 。过去,许多开发者被书本教授非常糟糕的实践,因此 PHP 代码的质量非常差 。PHP 曾经还允许你做一些非常奇怪的事情,使得它非常容易构建,但维护起来却是一场噩梦 。
这些不再是常见的问题 。随着高质量学习材料的引入,这些材料易学且易获取,一名新的开发人员可以以正确的方式学习 PHP 。这样就可以避免初级开发者因为不知道构建事物的正确方法而编写一些维护起来非常痛苦的代码 。
【大家对PHP的误解有哪些?】随着框架的引入,导致许多糟糕体验的大部分通用代码现在都自动完成了;因此,开发人员只需使用框架,框架就可以正确地对其进行编码 。
而且,这些年来,一些糟糕的实践是由缺失的特性造成的,导致了一些本不应该被允许的事情被允许 。现在大多数情况下,甚至不可能实现以前编写的一些东西来导致这种声誉 。
小结
它不再鼓励糟糕的实践…
通过使用框架避免了糟糕实践 。
语言特性现在有很多讨论 。糟糕的特性不再受到支持 。
PHP 添加了其他语言中存在的大部分(即使不是全部)的特性 。


2、它的安全性是不是很差?
过去,PHP 应用程序的安全性通常很差,因为语言允许这样做 。这些东西不再被使用,因为 PHP 应用程序的开发现在已经完全不同 。
通过使用自动加载程序来包含文件而不是动态包含文件,已经移除了远程和本地文件包含(其中 PHP 从其它地址而不是最初打算的地址读取文件) 。
通过广泛使用模板系统(可以自动处理显示动态内容的转义和安全问题),已经避免了由于直接在 PHP 中直接使用 HTML 所导致的跨站脚本攻击(其中一个用户将 JavaScript 脚本添加到要显示给另一个用户的地方) 。
通过在 SQL 中使用 prepared 语句,避免了 SQL 注入攻击(这是由于需要构建 SQL 查询并将查询和数据一起发送导致的,其中用户可以向查询中增加额外的 SQL 命令) 。另外,ORM 的使用也很普遍,它确保用户数据和查询是分开发送的,而 SQL 不能将其视为单独的命令 。
通过广泛使用且采用 nonce 系统的 form 库,避免了跨站请求伪造(其中,用户能够被诱骗在你的站点上执行某些操作) 。
小结
通过使用自动加载程序(所有主流框架的标配),避免了远程和本地文件包含 。
通过使用模板语言作为标准或一种前端框架(例如 React),避免了跨站脚本(XSS)攻击 。
通过使用 ORMs 和广泛使用 prepared 语句,避免了 SQL 注入 。
通过使用 nonce token(被所有主流框架自动支持),避免了跨站请求伪造(CRSF)攻击 。


3、它是不是真的很慢?
这取决于你把它与什么比较 。如果你把 PHP 与 Java、C 或者 Go 比较,那么它是比较慢 。但是如果你把 PHP 与 Python、Ruby 等等比较,那么它并不慢 。在同类型的语言中,PHP 是最快的之一,并且不断在提高性能 。
大多数情况下,你的应用程序慢是因为服务器过载或者数据库查询慢 。这些问题在任何语言中都会存在 。
小结
PHP 与编译型语言相比是比较慢 。
PHP 与其它脚本型语言相比是比较快的 。
网站慢通常不是由于使用的语言不够快,而是因为服务器或数据库导致的性能问题 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: