PHP的发展历程
PHP的发展历程
了解一门语言,我们必须知道这门语言的发展史,现在我通过版本的变化以时间轴的形式来说明PHP的发展历程。
1.1995年初PHP1.0诞生
Rasmus Lerdof发明了PHP,这是简单的一套Perl脚本,用来跟踪访问者的信息。这个时候的PHP只是一个小工具而已,他的名字叫做“Personal Home Page Tool”(个人主页小工具)。
2.1995年6月PHP2.0诞生
Rasmus Lerdof用C语言来重新开发了这个工具,取代了最初的Perl程序。这个新的用C写的工具最大的特色就是可以访问数据库,可以让用户简单的开发动态Web程序了。这个用C写的工具又称为PHP/FI。它已经有了今天PHP的一些基本功能了。
3.1998年6月PHP3.0诞生
虽然说1998年6月才正式发布PHP3.0,但是在正式发布之前,已经经过了9个月的公开测试。
Andi Gutmans 和 Zeev Suraski 加入了PHP开发项目组。这是两个以色列工程师,他们在使用PHP/FI 的时候发现了PHP的一些缺点,然后决定重写PHP的解析器。
在这个时候,PHP就不再称为 Personal Home Page 了,而改称为 PHP : Hypertext Preprocessor。
PHP 3.0 是最像现在使用的PHP的第一个版本,这个重写的解析器也是后来Zend 的雏形。PHP 3.0 的最强大的功能就是它的可扩展性。它除提供给第三方开发者数据库、协议和 API 的基础结构之外,还吸引了大量的开发人员加入并提交新的模块。
4.2000年5月PHP 4.0 发布
Andi Gutmans 和 Zeev Suranski 在 4.0 做的最大的动作就是重写了 PHP 的代码,发明了Zend 引擎来增强程序运行时的性能和 PHP 的模块性。这个Zend 实际上就是Andi 和 Zeev 名字所写的合称。
使用了Zend 引擎,PHP 除获得更高的性能之外,也有其它一些关键的功能,包括支持更多的Web 服务器、HTTP Session 的支持、输出缓存等。
5.2004年7月PHP5.0发布
PHP 5.0 的核心是Zend 引擎 2 代。他引入了新的对象模型和大量的新功能,比如引入了PDO(PHP Data Object)。
6.2015年12月 PHP 7.0 发布
使用PHPNG 引擎,大幅提高了性能,引入了标量类型声明、返回值类型声明、匿名类等一些期待已久的新特性。
细心的你可能会发现PHP6到哪里去了?说来有趣,PHP 的开发者们原来计划有 PHP 6,可是做着做着把原来 PHP 6计划的特性在 PHP 5.5、5.6 版实现了,后来大家一商量算了,直接跨过 PHP 6 进入PHP 7 时代了。
PHP的发展历程的更多相关文章
- C#与C++的发展历程第三 - C#5.0异步编程巅峰
系列文章目录 1. C#与C++的发展历程第一 - 由C#3.0起 2. C#与C++的发展历程第二 - C#4.0再接再厉 3. C#与C++的发展历程第三 - C#5.0异步编程的巅峰 C#5.0 ...
- Linux实战教学笔记03:操作系统发展历程及系统版本选择
标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...
- C#与C++的发展历程第一 - 由C#3.0起
俗话说学以致用,本系列的出发点就在于总结C#和C++的一些新特性,并给出实例说明这些新特性的使用场景.前几篇文章将以C#的新特性为纲领,并同时介绍C++中相似的功能的新特性,最后一篇文章将总结之前几篇 ...
- C#与C++的发展历程第二 - C#4.0再接再厉
系列文章目录 1. C#与C++的发展历程第一 - 由C#3.0起 2. C#与C++的发展历程第二 - C#4.0再接再厉 开始本系列的第二篇,这篇文章中将介绍C#4.0中一些变化,如C++有类似功 ...
- Java的发展历程
Java的发展历程充满了传奇色彩. 最初,Java是由Sun公司的一个研究小组开发出来的, 该小组起先的目标是想用软件实现对家用电器进行集成控制的小型控制装置. 开始,准备采用C++,但C++太复杂, ...
- C# 6.0可能的新特性及C#发展历程
据扯,C# 6.0在不远的将来就发布了,对应的IDE可能是VS 2014(.Net Framework 5.0),因为VS 2013已于2013年10月份发布了,对应的是.Net Franework ...
- C#发展历程以及C#6.0新特性
一.C#发展历程 下图是自己整理列出了C#每次重要更新的时间及增加的新特性,对于了解C#这些年的发展历程,对C#的认识更加全面,是有帮助的. 二.C#6.0新特性 1.字符串插值 (String In ...
- Java起源、发展历程、环境变量、第一个Java程序等【1】
若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果,转载请标明原文链接: 本文原创作者:pipi-changing 本文原创出处:http://www.cnblogs.com/pi ...
- 1.html5 学习要求,Html 5发展历程
以下是我在学习html5,项目中用到的关于html5的总结和心得. 1.学习要求 Html4.01,xhtml Css2 Javascript 耐心,动手,毅力. 2.Html 发展历程 Html1. ...
- 第一篇:GPU 编程技术的发展历程及现状
前言 本文通过介绍 GPU 编程技术的发展历程,让大家初步地了解 GPU 编程,走进 GPU 编程的世界. 冯诺依曼计算机架构的瓶颈 曾经,几乎所有的处理器都是以冯诺依曼计算机架构为基础的.该系统架构 ...
随机推荐
- webStrorm 简单配置
1.主题配色 主题设置 File -> Settings -> Appearance & Behavior -> Appearance ->Theme. ===& ...
- Windows下sc create命令行添加/创建/修改服务
添加服务: sc create TestService binpath= "D:\TestApp\TestService.exe" 注意:所有的等号和值之间需要一个空格(等号前不要 ...
- urlx
2015-09-24 23:41:26 centos6.6下安装MongoDB3.0.1 https://www.percona.com/doc/percona-tokumx/installation ...
- [转] 你应该知道的应用UI动态设计规则
转自 CocoaChina http://www.cocoachina.com/macdev/uiue/2014/0505/8315.html 你应该知道的应用UI动态设计规则 这篇文章中,我主要阐述 ...
- QT写hello world 以及信号槽机制
QT是一个C++的库,不仅仅有GUI的库.首先写一个hello world吧.敲代码,从hello world 写起. #include<QtGui/QApplication> #incl ...
- 配置管理SVN软件具体操作
配置管理(SVN) CM:configuration management 配置管理人员 什么是SVN SVN --Subversion --是一个开放源代码的版本控制系统 --时下流行的有SVN和 ...
- sql2005 和 mysql 定时备份批处理
保存为sqlbak.bat 目录我直接放winrar 的根目录了 或者拷贝一个winrar.exe 具体目录随意. 然后添加计划任务个人的话建议一周或者一天 虚拟主机等 建议每周或者每月 @echo ...
- JavaScript的DOM_操作表格
一.使用HTML标签创建表格 thead.tfoot.caption标签在一个表格中只能有一个 tbody.tr.td.th标签在一个表格中可以有N个 <table border=&quo ...
- codeforces 797 E. Array Queries【dp,暴力】
题目链接:codeforces 797 E. Array Queries 题意:给你一个长度为n的数组a,和q个询问,每次询问为(p,k),相应的把p转换为p+a[p]+k,直到p > n为 ...
- swift的动态库
共享可执行文件 iOS 有沙箱机制,不能跨App间共享共态库,但Apple开放了App Extension,可以在App和Extension间共间动态库(这也许是Apple开放动态链接库的唯一原因了) ...