PHP7 一些新特性持續更新

1.強類型模式。咱們知道PHP是一種弱類型的編程語言,可是P7已經有所改變,能夠支持代碼開啓強類型模式了!只須要一段代碼便可。php

define(strict_types=1);//注意這一句必需要放在第一行,並且頂格

2.list 的方括號簡寫編程

//在5.4以前咱們的數組寫法都是 array(),但在5.4 後咱們的數組寫方法直接中括號。那丟 list是否也能夠中括號呢,
//答案是能夠的。
//5.4<>7 以前寫法
list($a, $b, $c) = $arr;
//7後寫法
[$a,$b,$c] = $arr;
//以及指定KEY都是能夠的
["a" => $a, "b" => $b, "c" => $c] = $arr;
//但並不支持混合key
list($val, "key" => $keyed) = $array;

3.void 返回類型數組

//PHP7.0 添加了指定函數返回類型的特性,可是返回類型卻不能指定爲 void,7.1 的這個特性算是一個補充
//定義返回類型爲 void 的函數不能有返回值,即便返回 null 也不行:

function test(): void {
    return 1; // Fatal error: A void function must not return a value
}
如下兩種狀況均可以經過驗證:
function test(): void {
    // valid
}

function test(): void {
    return; // valid
}

//類成員方法中對於返回類型的聲明也不能被子類覆蓋,不然會報錯滴
class Foo{
    public function bar(): void {
    }
}

class Foobar extends Foo{
    public function bar(): array { 
       // Fatal error: Declaration of Foobar::bar() must be compatible with Foo::bar(): void
    }
}
相關文章
相關標籤/搜索