PHP|PHP到底适不适合做大型网站?

PHP|PHP到底适不适合做大型网站?


程序员届素来有一个笑话 , 如果有人在程序员群里大喊一声“PHP是最好的语言”一定会被群起而攻之 。
由于PHP简单、容易上手 , 所以很多初入行搞网站的程序员 , 以及一起刚开始起步的小网站 , 都是从PHP开始开发起来的 。
那么为什么有很多貌似技术略有小成的程序员 , 提起PHP来 , 都会是一脸不屑的表情 , 仿佛是本科毕业生看到了初中生的情形 。 那么问题来了 , PHP到底是怎样一种语言 , 它到底适合不适合做大型网站呢?PHP程序员 , 到底应该被鄙视吗?
首先我们先放结论:PHP非常适合做网站 , 但是并不适合做WEB系统 。
讨论一门技术 , 我们一定要了解一门技术的应用领域 , 每门技术都有自己擅长的空间 , 也有自己的弱点 , 编程中的各类要素参差不齐 , 有的要求安全 , 有的要求稳定 , 有的要求快速开发 , 有的要求简洁明了 , 因此 , 各种语言的侧重点不一样 , 好的程序员 , 应该依据各类语言的特点 , 随心所欲的在适当的时候 , 使用合适的技术 。 能够最佳的满足多要素的需求 。

那么为什么PHP适合做网站呢?我们先来看看PHP是什么 , 它的定位是什么 。 PHP(Hypertext Preprocessor) , 即“超文本预处理器” , 是一种通用开源脚本语言 。 PHP是在服务器端执行的脚本语言 , 与C语言、python类似 , php的专业就是用来写网站的 。 它的开发速度快 , 消耗系统资源少 , 周期短 , 上手容易 , 成本也很低 。 因此 , PHP很适合一些后台交互很少的“网站” , 即单纯给用户展示一些信息之类的简单脚本网站 。
但是当WEB系统复杂起来 , PHP的弱点就显示出来了 。
首先是PHP的安全性 , PHP最为人所诟病的一点就是对于缺少对于SQL预处理支持的框架 , 导致PHP很容易被SQL注入 。 在2019年的开源代码漏洞报告中 , PHP漏洞占据了27% , 仅次于古老的C语言 。 而PHP众多模块的线程不安全性 , 更是加剧了人们对于PHP安全性的担忧 。 因此 , 注重安全性的WEB系统很难采用PHP这种对于安全支持偏弱的脚来来做 。
其次是PHP的性能 , 尽管PHP7的性能略有提升 , 但是依然比Java、C#等重型语言慢了20倍以上 , 而比C、C++、GO更是慢了60倍以上 , 差劲的性能表现 , 使得PHP很难在高并发的重要性日益突出的互联网世界里占据主流地位 。 而这也是很多早期使用PHP的大型互联网公司 , 如谷歌、脸书等 , 后来都弃用了PHP 。
第三是PHP对于递归的不良支持 , 递归是非常常见的一种算法 , 在编程中 , 很多地方会大量使用递归 。 但是PHP对于密集数据使用了栈方式 , 而不是使用堆方式 , 这就导致它对于递归函数的的数量限制比其它语言少很多 。 这就导致了一些功能用PHP实现起来会存在很多问题 。
因此 , 这些缺陷的存在 , 使得PHP并不适合做一个复杂的WEB系统 , 但是现在大型的互联网公司 , 采用的都是微服务架构 , 各种语言实现的微服务都可以存在于WEB系统当中 。 因此 , 了解各种技术的能力和弱点 , 在不同的业务类型中使用合适的技术 , 是每名程序员都要掌握的必备技能 。
【PHP|PHP到底适不适合做大型网站?】