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 编程的世界. 冯诺依曼计算机架构的瓶颈 曾经,几乎所有的处理器都是以冯诺依曼计算机架构为基础的.该系统架构 ...
随机推荐
- Log4Net使用教程
简介 为方便跟踪程序运行情况,我们可以记录系统运行异常日志,winform和web都可以通过继承异常或者try来实现. 官方网站:http://logging.apache.org/log4net/ ...
- SQL Server ->> OFFSET & FETCH子句
SQL Server 2012引入OFFSET + FETCH字句.它俩出现在SELECT .... ORDER BY ...后面.作用是告诉SQL Server在结果集中忽略前N行然后取前M行出来. ...
- java Date中方法toLocaleString过时的替代方案
DateFormat ddf = DateFormat.getDateInstance(); DateFormat dtf = DateFormat.getTimeInstance(); DateFo ...
- M-PalindromeP-DP
Palindrome Partitioning 动态规划+深度优先搜索 https://leetcode.com/discuss/23480/c-solution-with-dp-and-dfs-12 ...
- ssh_exchange_identification: Connection closed by remote host
用服务器内网ip连接同子网服务器的时候显示ssh_exchange_identification: Connection closed by remote host 防火墙什么都关闭了,还是显示这个问 ...
- 学习Road map Part 03 编程和算法
方法: 优先重复已学过的内容 写学习笔记
- c++ nested class 嵌套类。
c++ primer 658页 嵌套类最常用于定义执行类,
- Python迭代(入门8)
转载请标明出处: http://www.cnblogs.com/why168888/p/6407980.html 本文出自:[Edwin博客园] Python迭代 1. 什么是迭代 注意: 集合是指包 ...
- CodeIgniter框架学习要点
以下内容从兄弟连的CI教学视频中摘抄: http://codeigniter.org.cn/tutorials/ ------------------------------------------- ...
- 理解Underscore中的节流函数
上一篇中讲解了Underscore中的去抖函数(_.debounced),这一篇就来介绍节流函数(_.throttled). 经过上一篇文章,我相信很多人都已经了解了去抖和节流的概念.去抖,在一段连续 ...