php5.6带来的改变
作者:edwin
日期:2015-06-15 15:48:58
所属分类:后端 - php

php5.3以来, 加入了命名空间, 闭包, traits, 短数组等优美,漂亮的新特性,使得php程序代码看起来越来越优雅和简单。
php5.6的改变仍然振奋人心,本文主要讲php5.6的新特性相关的三个点:运算符, 常量, 命名空间。


运算符

1. php5.6新增幂运算符

. 符号为 **, **=

printf("2 ** 1 ==      %d\n", 2 ** 1);
$a = 3; $a **= 3;

2. 新境...运算符

. 该运符有两种功能

一. 变长参数

function f($a, $b = null, ...$params) {
    // $params 是一个包含了剩余参数的数组
}

二. 数组参数展开

function add($a, $b, $c) {
    return $a + $b + $c;
}

$operators = [2, 3];
echo add(1, ...$operators);

常量

php5.6之前常量的数据类型只能是数值型,和字符串型。
新的版本增加了数组类型,如下所示:
const ARR = ['a', 'b'];
另外的重要改变是, 其值除了以上类型外,还支持表达式,但表达式有所限制,仅可以使用包括数值、字符串字面量以及其他常量在内的数值表达式来定义常量。
const ONE = 1;
const TWO = ONE * 2;

命名空间

php5.6之前,不支持导入命名空间下的函数或常量,php5.6打破了这条规则,实现了使用use来导入其它命名空间下的函数和常量。

namespace Name\Space {
    const FOO = 42;
    function f() { echo __FUNCTION__."\n"; }
}

namespace {
    use const Name\Space\FOO;
    use function Name\Space\f;

    echo FOO."\n";
    f();
}

备注

php5.6有不少的改变,本文仅从中选出自认为较重大的改变作以说明。


评论

全部评论 / 0