PHP 8.0

准备好通过联合类型、属性、JIT 等
来迈向未来了吗?

PHP 即将支持 str_contains()

一个用于检查某个字符串是否包含在其他字符串中的函数。
25 年过去了,这个函数差不多该好了。

PHP 即将支持 str_contains()

一个用于检查某个字符串是否包含在其他字符串中的函数。
25 年过去了,这个函数差不多该好了。

2020

PHP 7.4

类型属性、箭头函数、数值文字分隔符、FFI 和 OPcache 预加载。

PHP 7.4

类型属性、箭头函数、数值文字分隔符、FFI 和 OPcache 预加载。

Nikita Popov 加入 PhpStorm 团队

一位知名的 PHP 生态系统长期贡献者加入 JetBrains,与 PhpStorm 团队合作完善 PHP 语言和生态系统。

Nikita Popov 加入 PhpStorm 团队

一位知名的 PHP 生态系统长期贡献者加入 JetBrains,与 PhpStorm 团队合作完善 PHP 语言和生态系统。

2019

PHP 7.3

Heredoc 和 Nowdoc 字符串更新,参数列表中的尾随逗号,新的 hrtime() 函数,以及改进的垃圾回收。

PHP 7.3

Heredoc 和 Nowdoc 字符串更新,参数列表中的尾随逗号,新的 hrtime() 函数,以及改进的垃圾回收。

Zeev Suraski 离开 Zend

Zeev Suraski 是 Zend 两个创始人中第二个离开公司的。Matthew Weier O'PhinneyEnrico Zimuel 也离开了。

Zeev Suraski 离开 Zend

Zeev Suraski 是 Zend 两个创始人中第二个离开公司的。Matthew Weier O'PhinneyEnrico Zimuel 也离开了。

PSR-15 HTTP 服务器请求处理程序被认可

该标准展示了如何使用 PHP 编写请求处理程序和中间件。

PSR-15 HTTP 服务器请求处理程序被认可

该标准展示了如何使用 PHP 编写请求处理程序和中间件。

2018

PHP 7.2

得益于捆绑的 libsodium,PHP 成为首个在标准库中支持现代密码学的编程语言。它还引入了 object 类型提示和参数类型扩大。

PHP 7.2

得益于捆绑的 libsodium,PHP 成为首个在标准库中支持现代密码学的编程语言。它还引入了 object 类型提示和参数类型扩大。

热门项目结束 HHVM 支持

热门项目结束 HHVM 支持

  

PSR-11 容器接口被认可

将框架和库利用容器获取对象和参数的方式标准化。

PSR-11 容器接口被认可

将框架和库利用容器获取对象和参数的方式标准化。

2017

PHP 7.1

可为 null 类型、类常量可见性修饰符、void 返回类型和性能提升。

PHP 7.1

可为 null 类型、类常量可见性修饰符、void 返回类型和性能提升。
Swoole 2 与协程一起发布
Swoole 2 与协程一起发布
 

2016

PHP 7.0

一次主要语言更新,包含新的 Zend Engine 3 (PHPNG)、各种改进和新功能。它的速度是 PHP 5.6 版本的两倍!

PHP 7.0

一次主要语言更新,包含新的 Zend Engine 3 (PHPNG)、各种改进和新功能。它的速度是 PHP 5.6 版本的两倍!

Rogue Wave 收购 Zend

Zend,从 PHP 3 以来一直站在语言身后的公司,被 Rogue Wave 收购。

Rogue Wave 收购 Zend

Zend,从 PHP 3 以来一直站在语言身后的公司,被 Rogue Wave 收购。

PHP 20 岁了

PHP 20 岁了

  

PSR-7 HTTP 消息接口被认可

该标准最终话确定了如何处理 HTTP 请求和响应 OOP 方式。

PSR-7 HTTP 消息接口被认可

该标准最终话确定了如何处理 HTTP 请求和响应 OOP 方式。

CodeIgniter 3

CodeIgniter 3

 

2015

PHP 5.6

PHP 5 最后的这个主要版本引入了常量标量表达式、适用于可变函数和参数解压缩的 splat ... 运算符、使用 use 关键字导入函数和常量、作为集成调试器的 phpdbg,以及适用于 GMP 对象的运算符重载(是的,PHP 支持此功能!)。

PHP 5.6

PHP 5 最后的这个主要版本引入了常量标量表达式、适用于可变函数和参数解压缩的 splat ... 运算符、使用 use 关键字导入函数和常量、作为集成调试器的 phpdbg,以及适用于 GMP 对象的运算符重载(是的,PHP 支持此功能!)。

PHP 语言规范

尽管广受欢迎并且已有不短的历史,在 2014 年之前,PHP 从未用过正式规范。该规范最初在 Facebook 开发,随后所有版权都被转让给全世界的公共域。

PHP 语言规范

尽管广受欢迎并且已有不短的历史,在 2014 年之前,PHP 从未用过正式规范。该规范最初在 Facebook 开发,随后所有版权都被转让给全世界的公共域。

Facebook 推出 Hack

Hack 编程语言以 PHP 方言的形式出现,使用大量新功能扩展了 PHP。一些成功的解决方案自此之后加入 PHP 并继续启发开发者。

Facebook 推出 Hack

Hack 编程语言以 PHP 方言的形式出现,使用大量新功能扩展了 PHP。一些成功的解决方案自此之后加入 PHP 并继续启发开发者。

2014

PHP 5.5

生成器与协程、finally 关键字,以及通过 ::class 实现标量类名称解析。捆绑的 Zend OPcache 扩展实现了操作码缓存并打开了更多性能优化的大门。

PHP 5.5

生成器与协程、finally 关键字,以及通过 ::class 实现标量类名称解析。捆绑的 Zend OPcache 扩展实现了操作码缓存并打开了更多性能优化的大门。

Laravel 4

作为彼此集成以构成框架的组件集合形式,Illuminate(也称为 Laravel 4)进行了从头编写。Facades 就此登场

Laravel 4

作为彼此集成以构成框架的组件集合形式,Illuminate(也称为 Laravel 4)进行了从头编写。Facades 就此登场

React v0.3

ReactPHP 的第一个公开版本证明可以将异步模型引入 PHP 应用程序。React.js 还没成型,仅被称为“React”。

React v0.3

ReactPHP 的第一个公开版本证明可以将异步模型引入 PHP 应用程序。React.js 还没成型,仅被称为“React”。

Zend Optimizer+ 开源

Zend Optimizer+ 开源

 

2013

PHP 之道

“PHP 之道”成为全世界开发者的 PHP 智慧和最佳实践源泉。

PHP 之道

“PHP 之道”成为全世界开发者的 PHP 智慧和最佳实践源泉。
Phalcon 框架发布
Phalcon 框架发布
 

PSR-1 和 PSR-2 被认可

制表符与空格之间的战争结束!

PSR-1 和 PSR-2 被认可

制表符与空格之间的战争结束!

PHP:一部分糟糕设计

邮报当天刊发了一篇概括介绍大量 PHP 问题的文章。其中的多个问题随后都得到了修复,但讨厌 PHP 的人仍将这篇文章奉为真理。

PHP:一部分糟糕设计

邮报当天刊发了一篇概括介绍大量 PHP 问题的文章。其中的多个问题随后都得到了修复,但讨厌 PHP 的人仍将这篇文章奉为真理。

PHP 5.4

特征、缩短的数组语法和内置的测试用 Web 服务器获得显著的性能提升,减小了内存占用,并修复了超过 100 个错误。

PHP 5.4

特征、缩短的数组语法和内置的测试用 Web 服务器获得显著的性能提升,减小了内存占用,并修复了超过 100 个错误。

2012

Composer

截至 2011 年,所有主流语言都已拥有自己的包管理器:npm、Bundler、pip、NuGet。得益于 Jordi Boggiano、Nils Adermann 和其他贡献者的工作,PHP 最后一个获得一流的包管理工具
嗨,PHP 开发者,你们为什么没有包?

Composer

截至 2011 年,所有主流语言都已拥有自己的包管理器:npm、Bundler、pip、NuGet。得益于 Jordi Boggiano、Nils Adermann 和其他贡献者的工作,PHP 最后一个获得一流的包管理工具
嗨,PHP 开发者,你们为什么没有包?

Laravel 1

Taylor Otwell 创建 Laravel,以此尝试为 CodeIgniter 框架提供一个更高级的替代选择。Laravel 随后改变了整个 PHP 局面。

Laravel 1

Taylor Otwell 创建 Laravel,以此尝试为 CodeIgniter 框架提供一个更高级的替代选择。Laravel 随后改变了整个 PHP 局面。

2011

PSR-0 被认可

在获得命名空间后,PHP 终于可以正确自动加载了。在第一个 PSR 标准被接受之前,PHP 文件是 includes 和 requires 的疯狂组合。

PSR-0 被认可

在获得命名空间后,PHP 终于可以正确自动加载了。在第一个 PSR 标准被接受之前,PHP 文件是 includes 和 requires 的疯狂组合。

PhpStorm 1.0 发布

PhpStorm (之前以其运行名称“Web IDE”而为人所知)发布,并支持 Xdebug、PHPUnit 和 Zend Framework。

PhpStorm 1.0 发布

PhpStorm (之前以其运行名称“Web IDE”而为人所知)发布,并支持 Xdebug、PHPUnit 和 Zend Framework。

2010

PHP-FIG

来自各个 PHP 项目的开发者在 2009 年的 php|tek 大会上相聚,PHP-FIG (Framework Interoperability Group) 组的想法应运而生。FIG 的建议(称为 PSR)显著改变了 PHP 生态系统的状况。

PHP-FIG

来自各个 PHP 项目的开发者在 2009 年的 php|tek 大会上相聚,PHP-FIG (Framework Interoperability Group) 组的想法应运而生。FIG 的建议(称为 PSR)显著改变了 PHP 生态系统的状况。

PHP 5.3

备受期待的命名空间支持、延迟静态绑定和匿名函数终于使 PHP 成为一种成熟语言。什么成熟语言没有 goto 运算符?

PHP 5.3

备受期待的命名空间支持、延迟静态绑定和匿名函数终于使 PHP 成为一种成熟语言。什么成熟语言没有 goto 运算符?

2009

2008

Xdebug 2.0

改进的堆栈跟踪、文件的执行跟踪、代码覆盖率分析,以及显著提升的远程调试支持。

Xdebug 2.0

改进的堆栈跟踪、文件的执行跟踪、代码覆盖率分析,以及显著提升的远程调试支持。

2007

PHP 5.2

凭借适用于 Zend Engine 的新内存管理器,以及输入筛选、JSON 与 ZIP 扩展、文件上传进度跟踪、日期与时间对象等新功能,PHP 5.2 取得了巨大成功,到 2013 年仍是最受欢迎的版本。

PHP 5.2

凭借适用于 Zend Engine 的新内存管理器,以及输入筛选、JSON 与 ZIP 扩展、文件上传进度跟踪、日期与时间对象等新功能,PHP 5.2 取得了巨大成功,到 2013 年仍是最受欢迎的版本。

Zend Framework 的第一个版本

Zend Framework 是作为一套可重用组件开发的首批框架之一。它的目标是“极简”和“use-at-will(按意愿使用)架构”。在 2005 年发布后,它帮助将 PHP 带入企业市场。

Zend Framework 的第一个版本

Zend Framework 是作为一套可重用组件开发的首批框架之一。它的目标是“极简”和“use-at-will(按意愿使用)架构”。在 2005 年发布后,它帮助将 PHP 带入企业市场。

CodeIgniter 1

CodeIgniter 是首批快速发展的框架之一。它不仅如今仍然存在并且深受欢迎,还启发开发者开发了许多后续框架,例如 Laravel、FuelPHP、Kohana 和 Yii。

CodeIgniter 1

CodeIgniter 是首批快速发展的框架之一。它不仅如今仍然存在并且深受欢迎,还启发开发者开发了许多后续框架,例如 Laravel、FuelPHP、Kohana 和 Yii。

2006

PHP 5.1

完全重写了日期处理代码,并改进了时区支持,默认启用 PDO,性能与 PHP 5.0 相比大幅提升。

PHP 5.1

完全重写了日期处理代码,并改进了时区支持,默认启用 PDO,性能与 PHP 5.0 相比大幅提升。

2005

PRADO 1

第一个使用 PHP 5 的框架。Prado 受到 Apache Tapestry、Borland Delphi 和 Microsoft ASP.NET 的启发。

PRADO 1

第一个使用 PHP 5 的框架。Prado 受到 Apache Tapestry、Borland Delphi 和 Microsoft ASP.NET 的启发。

PHP 5.0

Zend Engine II 具有一个新对象模型和并提供了新扩展(SimpleXML、SOAP、MySQLi、SQLite),由于能够访问低级别套接字操作,该引擎显著提升了流。

PHP 5.0

Zend Engine II 具有一个新对象模型和并提供了新扩展(SimpleXML、SOAP、MySQLi、SQLite),由于能够访问低级别套接字操作,该引擎显著提升了流。

2004

Dmitry Stogov 加入 Zend

Dmitry 加入 Zend 并在 PHP 5 期间帮助开发了大多数核心 PHP 子系统。之后,Dmitry 领导 PHPNG 项目,该项目将 PHP 7 的速度提升到新水平。Dmitry 目前任职于 Zend by Perforce,担任首席工程师并领导为 PHP 开发 JIT 编译器的工作。

Dmitry Stogov 加入 Zend

Dmitry 加入 Zend 并在 PHP 5 期间帮助开发了大多数核心 PHP 子系统。之后,Dmitry 领导 PHPNG 项目,该项目将 PHP 7 的速度提升到新水平。Dmitry 目前任职于 Zend by Perforce,担任首席工程师并领导为 PHP 开发 JIT 编译器的工作。

WordPress 的第一个版本

世界上最受欢迎的 CMS 以 b2 分叉的形式出现。它使用与前任相同的文件结构,并从上一个版本 0.6 继续编号。从 1.0 版开始,WordPress 的主要版本以知名的爵士乐大师为代号。时至今日,互联网上超过三分之一的网站使用 WordPress。

WordPress 的第一个版本

世界上最受欢迎的 CMS 以 b2 分叉的形式出现。它使用与前任相同的文件结构,并从上一个版本 0.6 继续编号。从 1.0 版开始,WordPress 的主要版本以知名的爵士乐大师为代号。时至今日,互联网上超过三分之一的网站使用 WordPress。

2003

Derick Rethans 回顾 PHP

2 月 11 日,Erik 想知道“一直在告诉我 PHP 走到了尽头,它实际上是一种垂死挣扎的语言…”的人是不是编造的。

是啊,什么都没有改变。PHP 的非官方口号是:濒临消亡,始于 1995 (Dying since 1995)。

Derick Rethans 回顾 PHP

2 月 11 日,Erik 想知道“一直在告诉我 PHP 走到了尽头,它实际上是一种垂死挣扎的语言…”的人是不是编造的。

是啊,什么都没有改变。PHP 的非官方口号是:濒临消亡,始于 1995 (Dying since 1995)。

2002

APC 首次发布

APC 首次发布

  

PHPUnit 的首次提交

Sebastian Bergmann 开始开发使用最广泛的 PHP 测试框架,该框架深受 SUnit 和 JUnit 的启发。

PHPUnit 的首次提交

Sebastian Bergmann 开始开发使用最广泛的 PHP 测试框架,该框架深受 SUnit 和 JUnit 的启发。

Smarty 发布

最著名的 PHP 模板引擎。
当人们开始在他的模板引擎中编写模板引擎时,Rasmus 意识到他做错了一些事情。

Smarty 发布

最著名的 PHP 模板引擎。
当人们开始在他的模板引擎中编写模板引擎时,Rasmus 意识到他做错了一些事情。

2001

首批 PHP 大会
首批 PHP 大会
  

Drupal 的第一个版本

Drupal 最初作为消息板编写,在 2001 年成为一个开源项目,并发展成为最受欢迎的 CMS 系统之一。

Drupal 的第一个版本

Drupal 最初作为消息板编写,在 2001 年成为一个开源项目,并发展成为最受欢迎的 CMS 系统之一。

PHP 4.0

PHP 4 带有 Andi 和 Zeev 开发的全新“Zend 引擎”核心。除了显著提升的性能外,PHP 4 还添加了对更多 Web 服务器、HTTP 会话、输出缓冲和多个新语言结构的支持。

PHP 4.0

PHP 4 带有 Andi 和 Zeev 开发的全新“Zend 引擎”核心。除了显著提升的性能外,PHP 4 还添加了对更多 Web 服务器、HTTP 会话、输出缓冲和多个新语言结构的支持。

2000

Zend 公司成立

Zend 这一名称是 Suraski 和 Gutmans 的名字 Zeev 与 Andi 中部分字母的组合。自创立以来,Zend 成为 PHP 创新和开发源。它贡献了核心改进,以及用户包与框架和开发环境工具。

Zend 公司成立

Zend 这一名称是 Suraski 和 Gutmans 的名字 Zeev 与 Andi 中部分字母的组合。自创立以来,Zend 成为 PHP 创新和开发源。它贡献了核心改进,以及用户包与框架和开发环境工具。

1999

ElePHPant Logo

Vincent Pontier 为 PHP 项目设计了 elePHPant Logo,这个徽标从此成为 PHP 语言可爱的吉祥物。

ElePHPant Logo

Vincent Pontier 为 PHP 项目设计了 elePHPant Logo,这个徽标从此成为 PHP 语言可爱的吉祥物。

phpMyAdmin 项目问世

Tobias Ratschiller 为 MySQL 发布了 0.9.0 版的 phpMyAdmin web 管理工具。在很长一段时间内,它都是用于访问 MySQL 和 MySQL 之类数据库的主要工具之一。

phpMyAdmin 项目问世

Tobias Ratschiller 为 MySQL 发布了 0.9.0 版的 phpMyAdmin web 管理工具。在很长一段时间内,它都是用于访问 MySQL 和 MySQL 之类数据库的主要工具之一。

PHP 3.0

PHP 3.0 是很像现在的 PHP 的第一个版本。Zeev 和 Andi 重写了解释器并引入了一个新的扩展 API,该 API 大大简化了社区贡献新扩展的方式。随着全世界许多新开发者加入,新的 PHP 开发团队宣布了 PHP 3。
语言的名称改为递归缩写“PHP: Hypertext Preprocessor”。顶峰时,PHP 3 安装在互联网大约 10% 的 Web 服务器上。

PHP 3.0

PHP 3.0 是很像现在的 PHP 的第一个版本。Zeev 和 Andi 重写了解释器并引入了一个新的扩展 API,该 API 大大简化了社区贡献新扩展的方式。随着全世界许多新开发者加入,新的 PHP 开发团队宣布了 PHP 3。
语言的名称改为递归缩写“PHP: Hypertext Preprocessor”。顶峰时,PHP 3 安装在互联网大约 10% 的 Web 服务器上。
Netcraft 调查
Netcraft 调查
  

1998

Andi Gutmans 和 Zeev Suraski 加入项目

以色列理工学院(位于以色列海法)的学生 Andi Gutmans 和 Zeev Suraski 需要为他们作为大学项目开发的电子商务应用程序寻找后端。他们发现 PHP/FI 2.0 低效且缺少功能。1997 年,他们开始完全重写底层解释器。他们通过线上联系到 Rasmus,与 Rasmus 讨论了当前的实施方案和他们重新要开发 PHP 的各个方面。

Andi Gutmans 和 Zeev Suraski 加入项目

以色列理工学院(位于以色列海法)的学生 Andi Gutmans 和 Zeev Suraski 需要为他们作为大学项目开发的电子商务应用程序寻找后端。他们发现 PHP/FI 2.0 低效且缺少功能。1997 年,他们开始完全重写底层解释器。他们通过线上联系到 Rasmus,与 Rasmus 讨论了当前的实施方案和他们重新要开发 PHP 的各个方面。

PHP 2.0

PHP/FI 2.0 发布。有意思的是,只有一个完整版的 PHP 2.0。当它在 1997 年 11 月最终结束测试状态时,底层解析引擎已被完全重写。

PHP 2.0

PHP/FI 2.0 发布。有意思的是,只有一个完整版的 PHP 2.0。当它在 1997 年 11 月最终结束测试状态时,底层解析引擎已被完全重写。

1997

PHP/FI

代码进行了另一次完全重写,1996 年 4 月,Rasmus 推出了 PHP/FI,该名称将之前版本的名称相结合。这个第二代实现开始了 PHP 从工具套件向编程语言的真正演化。它包含对 DBM、mSQL 和 Postgres95 数据库的内置支持,并支持 Cookie、用户自定义函数等。

PHP/FI

代码进行了另一次完全重写,1996 年 4 月,Rasmus 推出了 PHP/FI,该名称将之前版本的名称相结合。这个第二代实现开始了 PHP 从工具套件向编程语言的真正演化。它包含对 DBM、mSQL 和 Postgres95 数据库的内置支持,并支持 Cookie、用户自定义函数等。

1996

Personal Home Page Construction Kit

Rasmus 发布了完全重写的代码。PHP 名称回归,现在(简要地)命名为“Personal Home Page Construction Kit”,是第一个吹嘘在当时被视为高级脚本接口的版本。
语言被有益设计为在结构上与 C 相似,旨在让熟悉 C、Perl 和类似语言的开发者可以轻松采用。

Personal Home Page Construction Kit

Rasmus 发布了完全重写的代码。PHP 名称回归,现在(简要地)命名为“Personal Home Page Construction Kit”,是第一个吹嘘在当时被视为高级脚本接口的版本。
语言被有益设计为在结构上与 C 相似,旨在让熟悉 C、Perl 和类似语言的开发者可以轻松采用。

FI

Rasmus 扩展了 PHP。他临时放弃了 PHP 名称,将工具称为 FI(“Forms Interpreter”的缩写),实现了包括我们今天已经知道的一些 PHP 基本功能。

FI

Rasmus 扩展了 PHP。他临时放弃了 PHP 名称,将工具称为 FI(“Forms Interpreter”的缩写),实现了包括我们今天已经知道的一些 PHP 基本功能。

PHP Tools - PHP 的诞生

Rasmus 向公众发布了 PHP 工具。

PHP Tools - PHP 的诞生

Rasmus 向公众发布了 PHP 工具。

1995

Rasmus Lerdorf 开始开发 PHP 

PHP 的第一个化身是使用 C 编程语言(不是 Perl)编写的一个简单的通用网关接口 (CGI) 二进制文件集。 这个集合最初被用于跟踪 Rasmus Lerdorf 在线简历的访问数量,之后 Rasmus 将脚本套件命名为“Personal Home Page Tools”,更常用的名称是“PHP Tools”。

PHP 即将支持 str_contains()

一个用于检查某个字符串是否包含在其他字符串中的函数。
25 年过去了,这个函数差不多该好了。

2020

PHP 7.4

类型属性、箭头函数、数值文字分隔符、FFI 和 OPcache 预加载。

Nikita Popov 加入 PhpStorm 团队

一位知名的 PHP 生态系统长期贡献者加入 JetBrains,与 PhpStorm 团队合作完善 PHP 语言和生态系统。
PHP 5.6.40 - 最后一个 PHP 5 版本

2019

PHP 7.3

Heredoc 和 Nowdoc 字符串更新,参数列表中的尾随逗号,新的 hrtime() 函数,以及改进的垃圾回收。

Zeev Suraski 离开 Zend

Zeev Suraski 是 Zend 两个创始人中第二个离开公司的。Matthew Weier O'PhinneyEnrico Zimuel 也离开了。

PSR-15 HTTP 服务器请求处理程序被认可

该标准展示了如何使用 PHP 编写请求处理程序和中间件。

2018

PHP 7.2

得益于捆绑的 libsodium,PHP 成为首个在标准库中支持现代密码学的编程语言。它还引入了 object 类型提示和参数类型扩大。

热门项目结束 HHVM 支持

 

PSR-11 容器接口被认可

将框架和库利用容器获取对象和参数的方式标准化。

2017

PHP 7.0

一次主要语言更新,包含新的 Zend Engine 3 (PHPNG)、各种改进和新功能。它的速度是 PHP 5.6 版本的两倍!

Rogue Wave 收购 Zend

Zend,从 PHP 3 以来一直站在语言身后的公司,被 Rogue Wave 收购。

PHP 20 岁了

 

PSR-7 HTTP 消息接口被认可

该标准最终话确定了如何处理 HTTP 请求和响应 OOP 方式。

CodeIgniter 3

2015

PHP 5.6

PHP 5 最后的这个主要版本引入了常量标量表达式、适用于可变函数和参数解压缩的 splat ... 运算符、使用 use 关键字导入函数和常量、作为集成调试器的 phpdbg,以及适用于 GMP 对象的运算符重载(是的,PHP 支持此功能!)。

PHP 语言规范

尽管广受欢迎并且已有不短的历史,在 2014 年之前,PHP 从未用过正式规范。该规范最初在 Facebook 开发,随后所有版权都被转让给全世界的公共域。

Facebook 推出 Hack

Hack 编程语言以 PHP 方言的形式出现,使用大量新功能扩展了 PHP。一些成功的解决方案自此之后加入 PHP 并继续启发开发者。

2014

PHP 5.5

生成器与协程、finally 关键字,以及通过 ::class 实现标量类名称解析。捆绑的 Zend OPcache 扩展实现了操作码缓存并打开了更多性能优化的大门。

Laravel 4

作为彼此集成以构成框架的组件集合形式,Illuminate(也称为 Laravel 4)进行了从头编写。Facades 就此登场

React v0.3

ReactPHP 的第一个公开版本证明可以将异步模型引入 PHP 应用程序。React.js 还没成型,仅被称为“React”。

Zend Optimizer+ 开源

2013

PHP 之道

“PHP 之道”成为全世界开发者的 PHP 智慧和最佳实践源泉。
Phalcon 框架发布

PSR-1 和 PSR-2 被认可

制表符与空格之间的战争结束!

PHP:一部分糟糕设计

邮报当天刊发了一篇概括介绍大量 PHP 问题的文章。其中的多个问题随后都得到了修复,但讨厌 PHP 的人仍将这篇文章奉为真理。

PHP 5.4

特征、缩短的数组语法和内置的测试用 Web 服务器获得显著的性能提升,减小了内存占用,并修复了超过 100 个错误。

2012

Composer

截至 2011 年,所有主流语言都已拥有自己的包管理器:npm、Bundler、pip、NuGet。得益于 Jordi Boggiano、Nils Adermann 和其他贡献者的工作,PHP 最后一个获得一流的包管理工具
嗨,PHP 开发者,你们为什么没有包?

Laravel 1

Taylor Otwell 创建 Laravel,以此尝试为 CodeIgniter 框架提供一个更高级的替代选择。Laravel 随后改变了整个 PHP 局面。

2011

PSR-0 被认可

在获得命名空间后,PHP 终于可以正确自动加载了。在第一个 PSR 标准被接受之前,PHP 文件是 includes 和 requires 的疯狂组合。

PhpStorm 1.0 发布

PhpStorm (之前以其运行名称“Web IDE”而为人所知)发布,并支持 Xdebug、PHPUnit 和 Zend Framework。

2010

PHP-FIG

来自各个 PHP 项目的开发者在 2009 年的 php|tek 大会上相聚,PHP-FIG (Framework Interoperability Group) 组的想法应运而生。FIG 的建议(称为 PSR)显著改变了 PHP 生态系统的状况。

PHP 5.3

备受期待的命名空间支持、延迟静态绑定和匿名函数终于使 PHP 成为一种成熟语言。什么成熟语言没有 goto 运算符?

2009

Xdebug 2.0

改进的堆栈跟踪、文件的执行跟踪、代码覆盖率分析,以及显著提升的远程调试支持。

2007

PHP 5.2

凭借适用于 Zend Engine 的新内存管理器,以及输入筛选、JSON 与 ZIP 扩展、文件上传进度跟踪、日期与时间对象等新功能,PHP 5.2 取得了巨大成功,到 2013 年仍是最受欢迎的版本。

Zend Framework 的第一个版本

Zend Framework 是作为一套可重用组件开发的首批框架之一。它的目标是“极简”和“use-at-will(按意愿使用)架构”。在 2005 年发布后,它帮助将 PHP 带入企业市场。

CodeIgniter 1

CodeIgniter 是首批快速发展的框架之一。它不仅如今仍然存在并且深受欢迎,还启发开发者开发了许多后续框架,例如 Laravel、FuelPHP、Kohana 和 Yii。

2006

PHP 5.1

完全重写了日期处理代码,并改进了时区支持,默认启用 PDO,性能与 PHP 5.0 相比大幅提升。

2005

PRADO 1

第一个使用 PHP 5 的框架。Prado 受到 Apache Tapestry、Borland Delphi 和 Microsoft ASP.NET 的启发。

PHP 5.0

Zend Engine II 具有一个新对象模型和并提供了新扩展(SimpleXML、SOAP、MySQLi、SQLite),由于能够访问低级别套接字操作,该引擎显著提升了流。

2004

Dmitry Stogov 加入 Zend

Dmitry 加入 Zend 并在 PHP 5 期间帮助开发了大多数核心 PHP 子系统。之后,Dmitry 领导 PHPNG 项目,该项目将 PHP 7 的速度提升到新水平。Dmitry 目前任职于 Zend by Perforce,担任首席工程师并领导为 PHP 开发 JIT 编译器的工作。

WordPress 的第一个版本

世界上最受欢迎的 CMS 以 b2 分叉的形式出现。它使用与前任相同的文件结构,并从上一个版本 0.6 继续编号。从 1.0 版开始,WordPress 的主要版本以知名的爵士乐大师为代号。时至今日,互联网上超过三分之一的网站使用 WordPress。

2003

Derick Rethans 回顾 PHP

2 月 11 日,Erik 想知道“一直在告诉我 PHP 走到了尽头,它实际上是一种垂死挣扎的语言…”的人是不是编造的。

是啊,什么都没有改变。PHP 的非官方口号是:濒临消亡,始于 1995 (Dying since 1995)。

2002

APC 首次发布

 

PHPUnit 的首次提交

Sebastian Bergmann 开始开发使用最广泛的 PHP 测试框架,该框架深受 SUnit 和 JUnit 的启发。

Smarty 发布

最著名的 PHP 模板引擎。
当人们开始在他的模板引擎中编写模板引擎时,Rasmus 意识到他做错了一些事情。

2001

首批 PHP 大会
 

PHP 4.0

PHP 4 带有 Andi 和 Zeev 开发的全新“Zend 引擎”核心。除了显著提升的性能外,PHP 4 还添加了对更多 Web 服务器、HTTP 会话、输出缓冲和多个新语言结构的支持。

Drupal 的第一个版本

Drupal 最初作为消息板编写,在 2001 年成为一个开源项目,并发展成为最受欢迎的 CMS 系统之一。

2000

Zend 公司成立

Zend 这一名称是 Suraski 和 Gutmans 的名字 Zeev 与 Andi 中部分字母的组合。自创立以来,Zend 成为 PHP 创新和开发源。它贡献了核心改进,以及用户包与框架和开发环境工具。

1999

ElePHPant Logo

Vincent Pontier 为 PHP 项目设计了 elePHPant Logo,这个徽标从此成为 PHP 语言可爱的吉祥物。

phpMyAdmin 项目问世

Tobias Ratschiller 为 MySQL 发布了 0.9.0 版的 phpMyAdmin web 管理工具。在很长一段时间内,它都是用于访问 MySQL 和 MySQL 之类数据库的主要工具之一。

PHP 3.0

PHP 3.0 是很像现在的 PHP 的第一个版本。Zeev 和 Andi 重写了解释器并引入了一个新的扩展 API,该 API 大大简化了社区贡献新扩展的方式。随着全世界许多新开发者加入,新的 PHP 开发团队宣布了 PHP 3。
语言的名称改为递归缩写“PHP: Hypertext Preprocessor”。顶峰时,PHP 3 安装在互联网大约 10% 的 Web 服务器上。
Netcraft 调查
 

1998

Andi Gutmans 和 Zeev Suraski 加入项目

以色列理工学院(位于以色列海法)的学生 Andi Gutmans 和 Zeev Suraski 需要为他们作为大学项目开发的电子商务应用程序寻找后端。他们发现 PHP/FI 2.0 低效且缺少功能。1997 年,他们开始完全重写底层解释器。他们通过线上联系到 Rasmus,与 Rasmus 讨论了当前的实施方案和他们重新要开发 PHP 的各个方面。

PHP 2.0

PHP/FI 2.0 发布。有意思的是,只有一个完整版的 PHP 2.0。当它在 1997 年 11 月最终结束测试状态时,底层解析引擎已被完全重写。

1997

PHP/FI

代码进行了另一次完全重写,1996 年 4 月,Rasmus 推出了 PHP/FI,该名称将之前版本的名称相结合。这个第二代实现开始了 PHP 从工具套件向编程语言的真正演化。它包含对 DBM、mSQL 和 Postgres95 数据库的内置支持,并支持 Cookie、用户自定义函数等。

1996

Personal Home Page Construction Kit

Rasmus 发布了完全重写的代码。PHP 名称回归,现在(简要地)命名为“Personal Home Page Construction Kit”,是第一个吹嘘在当时被视为高级脚本接口的版本。
语言被有益设计为在结构上与 C 相似,旨在让熟悉 C、Perl 和类似语言的开发者可以轻松采用。

FI

Rasmus 扩展了 PHP。他临时放弃了 PHP 名称,将工具称为 FI(“Forms Interpreter”的缩写),实现了包括我们今天已经知道的一些 PHP 基本功能。

PHP Tools - PHP 的诞生

Rasmus 向公众发布了 PHP 工具。

1995

Rasmus Lerdorf 开始开发 PHP

PHP 的第一个化身是使用 C 编程语言(不是 Perl)编写的一个简单的通用网关接口 (CGI) 二进制文件集。 这个集合最初被用于跟踪 Rasmus Lerdorf 在线简历的访问数量,之后 Rasmus 将脚本套件命名为“Personal Home Page Tools”,更常用的名称是“PHP Tools”。

“时间线”数据开源并托管在 在 GitHub 上. 如果发现错误,请尽管创建 pull-request。

关注我们