PHP超文本预处理器语言概述
发布时间:2023-06-19
php2.jpg

PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,一种非常流行的高级脚本语言,尤其适用于Web开发并可嵌入HTML中,快速、灵活和实用是PHP最重要的特点。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。PHP自1995年由Rasmus Lerdorf创建以来,在全球得到了非常广泛的应用。

PHP在1995年早期以PersonalHome Page Tools(PHPTools)开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能,之后越来越多的网站开始使用PHP,并且强烈要求增加一些特性,在新的成员加入开发行列之后,Rasmus Lerdorf在1995年6月8日将PHP公开发布,希望可以通过社群来加速程序开发与寻找错误。这个版本被命名为PHP2,已经有了今日PHP的一些雏型,类似Perl的变量命名方式、表单处理功能,以及嵌入到HTML中执行的能力。程序语法上也类似Perl,有较多的限制,不过更简单、更有弹性。PHP/FI加入了对MySOL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年年底,有15000个网站使用了PHP。

在1997年,任职于Technion IIT公司的两个以色列程序设计师ZeevSuraski和AndiGutmans重写了PHP的解析器,成为PHP3的基础,而PHP也在这个时候改称为PHP:Hypertext Pre-processor,1998年6月正式发布PHP3。Zeev Suraski和AndiGutmans在PHP3发布后开始改写PHP的核心,这个在1999年发布的解析器被称为Zend Engine,他们也在以色列的Ramat Gan成立了Zend Technologies来管理PHP的开发。

在2000年5月22日,以ZendEngine1.0为基础的PHP4正式发布。2004年7月13日发布了PHP5,PHP5则使用了第二代的ZendEngine。PHP包含了许多新特色:完全实现面向对象,引入PDO,以及许多性能方面的改进。目前PHP5x仍然是应用非常广泛的一个版本。PHP独特的语法混合了C、Java、Perl及PHP自创新的语法,同时支持面向对象、面向过程,相比C、Java等语言具有语法简洁、使用灵活、开发效率高、容易学习等特点。

开源免费:PHP社群有大量活跃的开发者贡献代码。

快捷:程序开发快,运行快,技术本身学习快,实用性强。

效率高:PHP消耗相当少的系统资源,自动gc机制。

类库资源:有大量可用类库供开发者使用。

扩展性:允许用户使用C/C扩展PHP。

跨平台:可以在UNIX、Windows、MacOS等系统上使用PHP。

很多人认为PHP非常简单,没什么技术含量,这是非常片面的认识,任何语言都有其存在的价值、有其适合的应用领域,正是PHP底层的强大才造就了PHP语言的简洁、易用,这反而更能够提现出它的优秀所在。

随着PHP6经历长时间的开发流产后,PHP5发布了6个版本顽强的支撑着开源社区的发展,直到2015年12月03日那天迎来了PHP 7.0的发布,其实PHP5.6已经包含了很多PHP6想实现的特性,它为PHP7的研发争取了宝贵的时间。不负众望PHP7.0对比PHP5.6性能整整提升了2倍,PHP7的成功发布让很多核心开发成员回归到PHP社区,并且在2020年11月26日发布了PHP8。和php7系列相对比,PHP8对各种变量判断和运算采用更严格的验证判断模式,这点有利后续版本对jit的性能优化。

PHP语言作为一种高级语言,其特点是开源, 在设计体系上属于C语言体系,它可以让很多接受过高等教育的初学者能很快接受并完成入门学习,简单好上手容易找工作自然粉丝多。如果数据量大及访问压力大,可以集成redis、mysql分表分区分库、elasticsearch搜索引擎、消息队列写保护和php系统分布式集群部署等技术方案,缓解数据存储、服务访问和数据检索带来的巨大压力。

无论是大中小型项目,PHP都是一个十分适合的高级编程语言,是否适合就看项目研发团队的对它的掌握程度。 但是对于较大的和更为复杂的项目,最常见的php-fpm编程模式就显出它的薄弱了。针对PHP-fpm暴露出的一系列缺点问题,最简单靠谱的方案就是及时升级兼容PHP的高版本,PHP7.0.0 对比PHP5.6性能提升了2倍,另外PHP7.4提供的Preloading预加载机制实现了部分程序常驻内存,获取了不错的性能提升,在PHP8又提供了高效的JIT (Just-In-Time即时编译)运算支持。另外水平更高的开发者可以转向难度更高的php-cli编程,它能解决大部分的系统性能问题,无论是PHP7和PHP8都支持这种模式的编程。

经过二十多年的发展,随着php-cli相关组件的快速发展和完善,PHP已经可以应用在 TCP/UDP服务、高性能Web、WebSocket服务、物联网、实时通讯、游戏、微服务等非 Web 领域的系统研发。