PHP5.3

__toString 魔术方法不再接受参数.

魔术方法 __get, __set, __isset, __unset, and __call 应该总是公共的(public)且不能是静态的(static). 方法签名是必须的.

添加了命名空间的支持

增加了goto支持。

新增了两个魔术方法, __callStatic 和 __invoke.

随着匿名函数的加入,PHP 引入了一个新的魔术方法 __invoke().
该魔术方法会在将一个对象作为函数调用时被调用: class A
{
public function __invoke($str)
{
print "A::__invoke(): {$str}";
}
} $a = new A;
$a("Hello World");
输出毫无疑问是: A::__invoke(): Hello World __callStatic() 则会在调用一个不存在的静态方法时被调用。

添加了 Nowdoc 语法支持, 类似于 Heredoc 语法, 但是包含单引号.就是<<'EOF'这样的语法。

可在类外部使用 const 关键词声明 常量.

三元运算操作符有了简写形式: ?:

PHP5.4

新增traits关键字,使PHP类可以实现多继承

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

新增支持对函数返回数组的成员访问解析,例如 foo()[0] 。

现在不管是否设置 short_open_tag php.ini 选项,<?= 将总是可用。

新增在实例化时访问类成员,例如: (new Foo)->bar() 。

SESSION 扩展现在能追踪文件的 上传进度 。

内置用于开发的 CLI 模式的 web server 。

PHP5.5

新增Finally关键字:http://www.laruence.com/2012/08/16/2709.html

新赠yield关键字,可以在方法中返回多个值所组成的数组

<?php
function gen_one_to_three() {
for ($i = 1; $i <= 3; $i++) {
// Note that $i is preserved between yields.
yield $i;
}
} $generator = gen_one_to_three();
foreach ($generator as $value) {
echo "$value\n";
}
?>

 增加了opcache扩展

PHP5.6

PHP7

PHP各版本之间差异的更多相关文章

  1. git日志输出格式及两个版本之间差异列表

    查看commit id git log --pretty=format:"%h" git log --pretty=format:"%H" 获取两个版本间差异的 ...

  2. mongodb不同版本之间有很大的差异

    今天主要说下我为了给mongodb数据库添加authorization,大家应该知道,mongo默认是无auth运行的.这可能是方便小伙伴学习命令吧. 由于之前发布的一个项目,在亚马逊的云上,处于内部 ...

  3. Moq4在.NET3.5和.NET4版本之间的差异

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:Moq4在.NET3.5和.NET4版本之间的差异.

  4. Git抽取版本之间的差异,打包解压

    patch.sh文件代码 #!/bin/bash MY_SAVEIFS=$IFS #IFS=$(echo -en "\n\b") IFS=$'\n' build_dir=" ...

  5. MTK Android Git提取出两个版本之间的差异文件并打包

    git提取出两个版本之间的差异文件并打包 首先你得知道版本之间的commit id git log –pretty=oneline $ git log --pretty=oneline 1 差异文件并 ...

  6. CLR/.NET/C#/Visual Studio/ASP.NET各版本之间的关系(转)

    由于这篇文章记录的是2015年7月,那时.net core还是叫做.net core 5 名词定义 下列这些名词,写.NET 的人一定都不陌生,但你是否有真正理解呢?如果看了我的摘要文字说明还无法理解 ...

  7. [51CTO]给您介绍Windows10各大版本之间区别

    给您介绍Windows10各大版本之间区别 随着win10的不断普及和推广,越来越多的朋友想安装win10系统了,但是很多朋友不知道win10哪个版本好用,为了让大家能够更好的选择win10系统版本, ...

  8. git比较两个版本之间的区别

    查看当前没有add 的内容修改: git diff 查看已经add 没有commit 的改动 git diff --cached 查看当前没有add和commit的改动: git diff HEAD ...

  9. Ubuntu桌面版本和服务器版本之间的区别(转载)

    转载自:http://blog.csdn.net/fangaoxin/article/details/6335992 http://www.linuxidc.com/Linux/2010-11/297 ...

随机推荐

  1. OD: DEP - Ret2Libc via VirtualProtect() & VirtualAlloc()

    一,通过 VirutalProtect() 修改内存属性绕过 DEP DEP 的四种工作模式中,OptOut 和 AlwaysOn 下所有进程默认都开启 DEP 保护,这里如果一个程序自身需要从堆栈中 ...

  2. 学习WCF(1)

    1. 什么是WCF WCF是创建面向服务应用程序的一个框架,用WCF, 你可以发送异步消息. 一个服务的终结点可以是服务宿主在IIS上面,也可以是一个服务宿主在应用程序上面.一个终结点也可以是客户端的 ...

  3. Arcgis Desktop 9.3 安装

    以下用到的 Crack在我的网盘中有: ref: http://pan.baidu.com/s/1pJJlVBl 密码: p4gk 一,安装 Desktop(依次按照如图安装): 二,配置 1,以上步 ...

  4. BetWeen和模糊查询

    --区分大小写性能比较低select * from Students where Age >1 and Age <4select * from Students where Age bet ...

  5. mssql SUBSTRING和charindex的用法

    在工作中用到的例子: select * FROM [CSGDC.DataETLDB].[dbo].[StrategiesList] where strategy_name like '%基建系统%' ...

  6. Hadoop错误

    1.50030页面起不来 $bin/hadoop jobtracker 出现:…… SHUTDOWN_MSG: Shutting down JobTracker at node0/ 解决办法:按提示信 ...

  7. 最全的ORACLE-SQL笔记

    -- 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba --然后,解除对scott用户的锁 alter user scott account unloc ...

  8. 查看sqlserver默认的编码格式

    SQL语句:SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage') 936 简体中文GBK 950 繁体中文BIG ...

  9. 你好,C++(17)0.1*10不等于1.0——4.1.4 关系操作符4.1.5 逻辑操作符

    4.1.4  关系操作符 在C++中,除了需要用算术操作符对数据进行加减乘除的算术操作之外,我们有时候还需要对数据之间的关系进行操作,也就是对两个数据进行大小比较,得出它们之间的大小关系.在现实世界中 ...

  10. Java之简单的聊天工具

    今天整理资料的时候,找出自己几年前刚学Java时做过的一个简易的聊天工具,有服务器也有客户端,能发送文字消息和文件,但是用户上线并未存入数据库,而只是简单的缓存在服务器的一个数组中,所以,只要服务器一 ...