网站首页 > 资源文章 正文
程序员届素来有一个笑话,如果有人在程序员群里大喊一声“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系统当中。因此,了解各种技术的能力和弱点,在不同的业务类型中使用合适的技术,是每名程序员都要掌握的必备技能。
猜你喜欢
- 2024-10-29 php宝塔搭建部署蓝色厨卫设备网站pbootcms模板php源码
- 2024-10-29 USBWebserver随时随地搭建phpweb服务器环境
- 2024-10-29 php版轻量级的在线团队协作工具附源码
- 2024-10-29 用php做网站建设的为什么越来越多?
- 2024-10-29 php宝塔搭建部署fastadmin框架红包互换源码拆红包源码H5
- 2024-10-29 php采集网页数据(php采集系统)(php自动采集如何实现)
- 2024-10-29 Symfony 5.2.2 发布,经典PHP Web开发框架
- 2024-10-29 小白学编程:一分钟搭建 Web 版的 PHP 代码调试利器,菜鸟必备
- 2024-10-29 Web+PHP学习,用这一个APP就够了!【强烈推荐】
- 2024-10-29 PHP入门读书笔记(十六):WEB页面使用PHP
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)