PHP语言发展历程

PHP语言发展历程

PHP 继承自一个老的工程,名叫 PHP/FI。PHP/FI 在 1995 年由 Rasmus Lerdorf 创建,最初只是一套简单的 Perl 脚本,用来跟踪访问他主页的人们的信息。下面是帮大家整理的PHP语言发展历程,希望对大家有所帮助。

PHP语言发展历史

1、1994年, Rasmus Lerdorf 开始计划发展PHP,并在1995年以Personal Home Page Tools对外发表第一个版本。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。

2、1995年,第二版的PHP问市,定名为 PHP/FI(Form Interpreter)。PHP/FI并加入了mSQL的支持,自此奠定了PHP在动态网页开发上的影响力。

3、1996 年底,有15,000个Web网站使用PHP/FI。

4、1997年,使用 PHP/FI 的Web网站成长到超过50,000个。Zeev Suraski 及Andi Gutmans加入了开发小组,开始了第三版的开发计划,从此PHP成为了真正意义上的开源项目。

5、1998年6月,PHP.net发布了PHP 3.0。在这一版本中PHP可以跟Apache服务器紧密地结合,几乎可以支持所有主流与非主流数据库;而且它拥有非常高的执行效率,这些优势使1999年使用 PHP的网站超过了150,000 个。

6、现在PHP5.0版本强化更多的功能。首先,完全实现面向对象,提供名为PHP兼容模式的功能。其次是XML功能,PHP5.0版本支持可直观地访问XML数据、名为SimpleXML的XML处理用界面。同时还强化了XML Web服务支持,而且标准支持SOAP扩展模块。数据库方面,PHP新版本提供旨在访问MySQL的新界面--MySQLi。除此前的界面外,还可以使用面向对象界面和预处理语句(Prepared Statement)等MySQL的新功能。另外,PHP5.0上还捆绑有小容量RDBMS--SQLite。

PHP 继承自一个老的工程,名叫 PHP/FI。PHP/FI 在 1995 年由 Rasmus Lerdorf 创建,最初只是一套简单的 Perl 脚本,用来跟踪访问他主页的人们的信息。它给这一套脚本取名为Personal Home Page Tools。随着更多功能需求的增加,Rasmus 写了一个更大的 C 语言的实现,它可以访问数据库,可以让用户开发简单的动态 Web 程序。Rasmus 发布了 PHP/FI 的源代码,以便每个人都可以使用它,同时大家也可以修正它的 Bug 并且改进它的源代码。

PHP/FI,一个专为个人主页/表单提供解释程序的程序,已经包含了今天 PHP 的一些基本功能。它有着 Perl 样式的变量,自动解释表单变量,并可以嵌入 HTML。语法本身与 Perl 很相似,但是它很有限,很简单,还稍微有些不协调。

到1997年,PHP/FI 2.0,也就是它的 C 语言实现的第二版在全世界已经有几千个用户(估计)和大约 50,000 个域名安装,大约是 Internet 所有域名的 1%。但是那时只有几个人在为该工程撰写少量当代码,它仍然只是一个人的工程。

PHP/FI 2.0 在经历了数个 beta 版本的发布后于 1997 年 11 月发布了***正式版本。不久,PHP 3.0 的第一个 alpha 版本的发布,PHP 从此走向了成功。

PHP 3

PHP 3.0 是类似于当今 PHP 语法结构的第一个版本。Andi Gutmans 和 Zeev Suraski 在为一所大学的项目中开发电子商务程序时发现 PHP/FI 2.0 功能明显不足,于是他们重写了代码。这就是 PHP 3.0。经过Andi,Rasmus 和 Zeev 一系列的努力,考虑到 PHP/FI 已存在的用户群,他们决定联合发布 PHP 3.0 作为 PHP/FI 2.0 的***后继版本。而 PHP/FI 2.0 的进一步开发几乎终止了。

PHP 3.0 的一个最强大的功能是它的可扩展性。除了给最终用户提供数据库、协议和 API 的基础结构,它的可扩展性还吸引了大量的开发人员加入并提交新的模块。后来证实,这是 PHP 3.0 取得巨大成功的关键。PHP 3.0 中的其它关键功能包括面向对象的支持和更强大和协调的语法结构。

这个全新的语言伴随着一个新的名称发布。它从 PHP/FI 2.0 的名称中移去了暗含本语言只限于个人使用的部分。它被命名为简单的缩写PHP。这是一种递归的缩写,它的全称是PHP: Hypertext Preprocessor。

1998 年末,PHP 的安装人数几近 10,000,有大约 100,000 个网站报告他们使用了 PHP。在 PHP 3.0 的顶峰,Internet 上 10% 的 Web 服务器上都安装了它。

约九个月的公开测试后,***于1998年6月正式发布 PHP 3.0。

PHP 4

1998 年的冬天,PHP 3.0 ***发布不久,Andi Gutmans 和 Zeev Suraski 开始重新编写 PHP 代码。设计目标是增强复杂程序运行时的性能和 PHP 自身代码的模块性。PHP 3.0 的新功能和广泛的第三方数据库、API的支持使得这样程序的编写成为可能,但是 PHP 3.0 没有高效处理如此复杂程序的能力。

新的被称为Zend Engine(这是 Zeev 和 Andi 的缩写)的引擎,成功的实现了设计目标,并在 1999 年中期首次引入 PHP。基于该引擎并结合了更多新功能的 PHP 4.0,在 PHP 3.0 发布两年后,于2000年5月发布了***正式版本。除了更高的性能以外,PHP 4.0 还包含了其它一些关键功能,比如:支持更多的 Web 服务器;HTTP Sessions 支持;输出缓存(output buffering);更安全的处理用户输入的方法;一些新的语言结构。

PHP 4 是当前 PHP 的最新版本。修改和增强 Zend Engine 以使 PHP 5.0 整合新功能的工作已经开始。

今天,已经有 10,000 名开发人员(估计)和几百万网站报告已安装了 PHP,占整个 Internet 域名的 20%。

PHP 的开发小组有很多优秀的开发人员,同时还有大量的优秀人才在进行 PHP 相关工程的开发工作,如 PEAR 和 PHP 文档的工程。

PHP 5

PHP 的未来主要受其核心,Zend Engine 控制。PHP 5 将包含新一代的 Zend Engine 2.0。请访问其网站以获取更多关于该引擎的信息。

语言特点

开源免费

PHP是一个受众大并且拥有众多开发者的开源软件项目,Linux + Nginx + Mysql + PHP是它的经典安装部署方式,相关的软件全部都是开源免费的,所以使用PHP可以节约大量的正版授权费用。不过PHP作为一个开源软件,它缺乏大型科技公司的支持背景,网络上对它的唱衰也是经久不衰,不过它的持续迭代和性能持续增强的现实却是鼓舞人心的,PHP社区用实际行动给予各种质疑强有力的回击。

快捷高效

PHP的内核是C语言编写的基础好效率高,可以用C语言开发高性能的扩展组件;PHP的核心包含了数量超过1000的内置函数,功能应有尽有很全面,开箱即用程序代码简洁;PHP数组支持动态扩容,支持以数字、字符串或者混合键名的关联数组,能大幅提高开发效率;PHP是一门弱类型语言,程序编译通过率高,相对其他强类型语言开发效率快;PHP天然热部署,在php-fpm运行模式下代码文件覆盖即完成热部署;PHP经过20多年的发展,在互联网上可以搜到海量的参考资料供参考学习。

性能提升

PHP版本越高它的整体性能越高,根据***介绍,PHP7.0.0对比PHP5.6性能就提升了2倍,PHP7.4已经比PHP7.0快了约30%,PHP8.0在性能上又相对PHP7.4大约改进了10%。PHP 8.0 引入了 JIT编译器特性,同时加入多种新的语言功能,例如命名参数、联合类型、注解、Constructor Property Promotion、match 表达式、nullsafe 运算符以及对类型系统、错误处理和一致性的改进。PHP拥有自己的核心开发团队,保持5年发布一个大版本、1个月发布2个小版本的频率,最新的版本是PHP8.08。PHP 7.0.0[16]发布于2015-12-03,此版本下最新版本是PHP 7.4.21(发布日期:2021-07-01),PHP 8.0.0发布于2020-11-26,此版本下最新版本是PHP 8.0.8(发布日期:2021-07-01)。

跨平台

每个平台都有对应的php解释器版本,指针对不同平台均编译出目标平台的二进制码(PHP解释器),php开发的程序可以不经修改运行在windows、linux、unix等多个操作系统上。

常驻内存

php-cli模式下可以实现程序常驻内存,各种变量和数据库连接都能长久保存在内存[9]实现资源复用,比较常用的做法是结合swoole组件编写cli框架。

页面生命周期

在php-fpm模式下,所有的变量都是页面级的,无论是全局变量还是类的静态成员,都会在页面执行完毕后被清空,对程序员水平要求低,占用内存非常少,特别适合中小型系统的开发。

参考框架

(一)WordPress内容管理系统(CMS)

功能强大、扩展性强,易于扩充功能;搭建的博客对seo搜索引擎友好,收录快排名靠前;网站上主题多,各色各样应有尽有;有强大的社区支持,有上千万的开发者贡献和审查。

(二)Hyperf

Hyperf 是一个基于Swoole 高性能、高灵活性的渐进式 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换 与 可复用 的。

(三)ThinkPHP

ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,最早诞生于2006年初,遵循Apache2开源协议发布。秉承简洁实用、出色的性能和至简的代码、注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。

(四)Drupal

Drupal诞生于2000年 ,是一个基于PHP语言编写的开发型CMF(内容管理框架),即:CMS+ framework。Drupal的架构由三大部分组成:内核、模块、主题。三者通过Hook机制紧密的联系起来。可自由配置,能支持从个人博客到大型社区驱动的网站等各种不同应用的网站项目。

(五)easyswoole

EasySwoole是一款常驻内存型的国产分布式swoole框架,支持同时混合监听HTTP、WebSocket、自定义TCP、UDP协议,且拥有丰富的组件,例如协程 连接池、协程Kafka客户端、协程ElasticSearch客户端、、协程Redis客户端、协程自定义队列、 协程Memcached客户端、协程HTTP客户端、Crontab定时器等。

(六)Laravel

Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个不错的网络APP,而且每行代码都可以简洁、富于表达力。

(七)CakePHP

CakePHP 设计层面很优雅,没有自带多余的 library,所有的功能都是纯粹的框架,执行效率还不错。

(八)imi

它可以运行在 PHP-FPM、Swoole、Workerman 多种容器环境下

转载请注明出处学文网 » PHP语言发展历程

学习

乡村振兴帮扶对接会讲话稿精选

阅读(15)

本文为您介绍乡村振兴帮扶对接会讲话稿精选,内容包括帮扶乡村振兴讲话稿,东西部学校对接帮扶校长讲话稿,乡村振兴对接会讲话稿。一、乡村振兴包括哪几个方面的振兴?

学习

员工职业化培训学习总结精选

阅读(16)

本文为您介绍员工职业化培训学习总结精选,内容包括员工岗位培训学习心得,员工岗位专业技能培训心得体会,员工职业素养提升培训心得体会。总结是对过去一定时期的工作、学习或思想情况进行回顾、分析,并做出客观评价的书面材料,它能够给人

学习

口腔医生本年度专业技术工作总结范文精选

阅读(14)

本文为您介绍口腔医生本年度专业技术工作总结范文精选,内容包括口腔医生个人年终总结结束语,口腔医生年度工作总结怎么写,口腔科年终工作总结最新范文大全。总结是对某一特定时间段内的学习和工作生活等表现情况加以回顾和分析的一种书

学习

个人发展计划通用

阅读(13)

本文为您介绍个人发展计划通用,内容包括个人发展计划怎么写,个人发展计划idp,个人发展计划教师。什么是个人发展计划个人发展计划指结合员工岗位需要及个人发展意向,双方经沟通达成的促使员工自身素质、技能提高的发展计划,可以包括参加培

学习

消防训练工作总结通用

阅读(15)

本文为您介绍消防训练工作总结通用,内容包括消防训练总结和感悟,消防训练工作周总结稿件,消防训练总结范文。总结在一个时期、一个年度、一个阶段对学习和工作生活等情况加以回顾和分析的一种书面材料,它可以提升我们发现问题的能力,让我

学习

关于农村土地托管合同书范本通用

阅读(15)

本文为您介绍关于农村土地托管合同书范本通用,内容包括房屋租赁托管合同范本,农村土地托管协议书,房屋托管合同范本最详细版。现今社会公众的法律意识不断增强,关于合同的利益纠纷越来越多,签订合同可以明确双方当事人的权利和义务。那么

学习

职业化读后感范文通用

阅读(14)

本文为您介绍职业化读后感范文通用,内容包括职业的读后感100字,职业转换读后感100字,关于职业技能读后感。读完一本书以后,大家心中一定有不少感悟,何不写一篇读后感记录下呢?那么读后感到底应该怎么写呢?以下是收集整理的职业化读后感范文,

学习

公司贯标文件与公司管理制度精选

阅读(15)

本文为您介绍公司贯标文件与公司管理制度精选,内容包括企业贯标总结,企业管理贯标,贯标工管理制度。公司贯标文件与公司管理制度(精选43篇)

学习

2023员工转正后的工作计划精选

阅读(16)

本文为您介绍2023员工转正后的工作计划精选,内容包括2023员工下半年工作计划,员工2023年工作规划怎么写,员工2023工作计划结束语。日子在弹指一挥间就毫无声息的流逝,我们的工作又将在忙碌中充实着,在喜悦中收获着,现在这个时候,你会有怎样

学习

个人专业发展总结精选

阅读(16)

本文为您介绍个人专业发展总结精选,内容包括个人专业发展总结范文,个人专业发展总结幼儿园,个人专业发展总结小学教师。个人专业发展总结(精选41篇)

学习

防洪抗旱应急预案通用

阅读(15)

本文为您介绍防洪抗旱应急预案通用,内容包括社区防洪抗旱应急预案,防汛抗旱应急预案通用15篇,学校防洪抗旱应急预案。在学习、工作或生活中,难免会有事故发生,为了降低事故后果,总归要预先编制应急预案。怎样写应急预案才更能起到其作用呢?

学习

质量工作总结通用

阅读(21)

本文为您介绍质量工作总结通用,内容包括质量工作总结报告,质量工作总结和工作计划,质量工作总结简短。一、什么是工作总结工作总结以年终总结、半年总结和季度总结最为常见和多用。就其内容而言,工作总结就是把一个时间段的工作进行一次

学习

职业素养培训心得体会精选

阅读(17)

本文为您介绍职业素养培训心得体会精选,内容包括教师职业素养培训心得体会,校长职业素养培训心得体会,大学生职业素养心得体会200字。我们得到了一些心得体会以后,通常就可以写一篇心得体会将其记下来,这样可以记录我们的思想活动。那么如

学习

关于一年级美术教学工作计划范文

阅读(18)

本文为您介绍关于一年级美术教学工作计划范文,内容包括小学一年级美术教学工作计划,一年级下学期美术教学计划9篇,一年级美术教学工作计划。时间过得可真快,从来都不等人,我们又有了新的工作,是时候开始写工作计划了。可是到底什么样的工作

学习

语言文字规范化家长培训总结范文精选

阅读(12)

本文为您介绍语言文字规范化家长培训总结范文精选,内容包括家长语言文字应用能力培训方案,家长语言文字规范化培训心得体会,家长语言文字培训活动方案。总结就是把一个时间段取得的成绩、存在的问题及得到的经验和教训进行一次全面系统

学习

精选php面试自我介绍范文

阅读(18)

本文为您介绍精选php面试自我介绍范文,内容包括高级php面试自我介绍,php自我介绍教学,php自我介绍范文。当进入一个陌生环境,我们通常会被要求作自我介绍,自我介绍可以满足我们渴望得到尊重的心理。相信大家又在为写自我介绍犯愁了吧!以下

学习

中国少数民族语言文学专业就业前景分析

阅读(20)

本文为您介绍中国少数民族语言文学专业就业前景分析,内容包括学少数民族语言文学有用吗,中央民族大学少数民族语言文学,少数民族语言文学毕业干什么。中国少数民族语言文学目前所处的社会环境和发展趋势,可以看出其就业前景是不错的。以

学习

语言领域的小班教案通用

阅读(11)

本文为您介绍语言领域的小班教案通用,内容包括语言领域的小班教案范文,怪汽车小班语言教案,幼儿园小班教案语言。一、语言领域的小班教案怎么写

学习

语言领域小班教案通用

阅读(14)

本文为您介绍语言领域小班教案通用,内容包括语言领域小班教案大全,语言领域小班教案加说课稿,语言领域小班教案故事猫和老鼠。一、语言领域小班教案怎么写

学习

学前班语言散文欣赏《春雨沙沙》说课稿范文

阅读(16)

本文为您介绍学前班语言散文欣赏《春雨沙沙》说课稿范文,内容包括春雨沙沙散文教学,春雨沙沙儿童散文。学前班语言散文欣赏《春雨沙沙》说课稿范文作为一位不辞辛劳的人民教师,很有必要精心设计一份说课稿,借助说课稿可以有效提升自己的教

学习

学前班语言课教学计划

阅读(22)

本文为您介绍学前班语言课教学计划,内容包括学前班语言教学进度计划表,学前班语言课学习计划。学前班语言课教学计划时间的脚步是无声的,它在不经意间流逝,我们又将迎来新的喜悦、新的收获,现在就让我们好好地规划一下吧。好的计划都具备一

学习

幼儿园小班语言教案(精选)

阅读(21)

本文为您介绍幼儿园小班语言教案(精选),内容包括幼儿园小班语言好饿的小蛇教案,幼儿园小班语言认识五官教案。幼儿园小班语言教案14篇(精选)作为一位兢兢业业的人民教师,就有可能用到教案,教案是教学活动的总的组织纲领和行动方案。那么应当如