PHP头条
热点:

php版本变迁历史,


php1:

作者 Rasmus Lerdof 在 1994 年开始用 Perl 写了一个名叫 "Personal Home Page Tool" 的工具包。

一年后用 C 重写并追加了 "Forms Interpreter" 功能,简称 为: PHP/FI ,并公开发布。

php2:

1996 年 PHP/FI 2 发布,它不仅可以访问数据库,而且可以 嵌入 HTML 页面。使用人数开始大增。

php3:

Zeev Suraski 和 Andi Gutmans 加入团队并重写了 PHP 解释器,并把项目名称改为 "PHP: Hypertext Preprocessor" 于 1998 年 6 月正式发布。此次重构使得代码更清晰,同时提高 了执行效率与可扩展性.

php4:

从底层全面重写的新版 PHP 内核 "Zend" 引擎于 2000 年 5 月 随着新版 PHP4.0 发布。相较于 PHP3 的解析执行模
型, Zend 引擎采用了更有效的编译执行的方式,性能最高提 升了 10 倍。

这是较接近现代 PHP 的一个版本,包含了现在用的一些常用

功能与特性,例如:超全局变量 / 垃圾回收 / 面向对象 /eval() foreach() include() ob_end_clean() ob_end_flush() ob_get_contents() ob_start() strip_tags() unset() ... ...

php5:

注:这里的 PHP5 特指 5.0~5.2

2004 年 7 月,以 Zend II 为核心的 PHP5 发布。此版主要实现功能:

完整的面向对象功能,包括 Exception 处理 PHP Data Objects (PDO)

SimpleXML, SOAP, JSON SPL

php5.3:

添加了命名空间的支持 .

添加了静态晚绑定支持 .
添加了跳标签支持 .
添加了原生的闭包 (Lambda/ 匿名函数 ) 支持 .
新增了两个魔术方法 , __callStatic 和 __invoke.
添加了 Nowdoc 语法支持, 类似于 Heredoc 语法, 但是包含单引号. 可使用双引号声明 Heredoc, 补充了 Nowdoc 语法.
可在类外部使用 const 关键词声明 常量 . 三元运算操作符有了简写形式 : ?:.

动态访问静态方法变为可能 .
异常可以被内嵌 . 新增了循环引用的垃圾回收器并且默认是开启的 .

php5.4

新增支持 traits 。

新增短数组语法,比如 $a = [1, 2, 3, 4]; 或 $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4]; 。

新增支持对函数返回数组的成员访问解析,例如 foo()[0] 。
现在 闭包 支持 $this 。
现在不管是否设置 short_open_tag php.ini 选项, <?= 将总是可用。 新增在实例化时访问类成员,例如: (new Foo)->bar() 。

现在支持 Class::{expr}() 语法。 新增二进制直接量,例如:0b001001101 。 改进解析错误信息和不兼容参数的警告。 SESSION 扩展现在能追踪文件的 上传进度 。 内置用于开发的 CLI 模式的 web server 。

php5.5:

新增 Generators

新增 finally 关键字 foreach 现在支持 list()

empty() 支持任意表达式
array and string literal dereferencing

新的密码哈希 API 改进 GD

array_column()

php5.6:

使用表达式定义常量

PHP 5.6

使用 ... 运算符定义变长参数函数

使用 ... 运算符进行参数展开

使用 ** 进行幂运算

use function 以及 use const

PHP 的 SAPI 模块中实现了一个 交互式调试器 phpdbg

默认字符编码

php://input 是可重用的了

大文件上传

GMP 支持运算符重载 __debugInfo()

php6:

  php5太磨蹭了,没6.

php7.0:

  •  Zend 3 抽象语法树(AST)

  • ●  标量类型声明

  • ●  返回值类型声明

  • ●  null 合并运算符 ??

  • ●  太空船操作符(组合比较符)

  • ●  通过 define() 定义常量数组

  • ●  匿名类

  • ●  Unicode codepoint 转译语法

  • ●  Closure::call()

  • ●  为 unserialize() 提供过滤

  • ●  IntlChar

  • ●  从同一 namespace 导入的类、函数和常量现在可以通过单个 use 语句 一次性导入

  • ●  生成器可以返回表达式

  • ●  Generator delegation

  • ●  整数除法函数 intdiv()

  • ●  会话选项

  • ●  preg_replace_callback_array()

  • ●  random_bytes() 和 random_int()

  • php7.1

  • 可为空( Nullable )类型

    Void 函数
    Symmetric array destructuring

    类常量可见性
    iterable 伪类
    多异常捕获处理
    list() 现在支持键名
    支持为负的字符串偏移量
    通过 Closure::fromCallable() 将callables转为闭包

  • php7.2:

  • 新的对象类型
    允许重写抽象方法 (Abstract method)
    使用 Argon2 算法生成密码散列
    新增 ext/PDO(PDO扩展)字符串扩展类型 扩展了参数类型
    允许分组命名空间的尾部逗号

www.phpzy.comtrue/php/23128.htmlTechArticlephp版本变迁历史, php1 : 作者 Rasmus Lerdof 在 1994 年开始用 Perl 写了一个名叫 "Personal Home Page Tool" 的工具包。 一年后用 C 重写并追加了 "Forms Interpreter" 功能,简称 为: PHP/FI ,并公开发布。...

相关文章

    暂无相关文章

PHP之友评论

今天推荐