PHP 5.4 的新特性

现在开始。

1. 实例化时访问类成员

class Human
{
    function __construct($name)
    {
        $this->name = $name;
    }

    public function hello()
    {
        return "Hi " . $this->name;
    }
}

// old style
$human = new Human("Gonzalo");
echo $human->hello();

// new cool style
echo (new Human("Gonzalo"))->hello();

 

2. 短数组定义语法

$a = [1, 2, 3];
print_r($a);

 

3. 支持 Class::{expr}() 语法

foreach ([new Human("Gonzalo"), new Human("Peter")] as $human) {
    echo $human->{'hello'}();
}

 

4. 通过数组间接调用方法

$f = [new Human("Gonzalo"), 'hello'];
echo $f();

 

5. Callable typehint

 

function hi(callable $f) {
    $f();
}

hi([new Human("Gonzalo"), 'hello']);

 

6. Traits

trait FlyMutant {
    public function fly() {
        return 'I can fly!';
    }
}

class Mutant extends Human {
    use FlyMutant;
}

$mutant = new Mutant("Storm");
echo $mutant->fly();

 

7. 支持数组提领(Array dereferencing support)

function data() {
    return ['name' => 'Gonzalo', 'surname' => 'Ayuso'];
}

echo data()['name'];

 

目前多数 IDE 还不支持这些特性,因此可能会报语法错误。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值