php yof框架特點 PHP 7 1 新特性

2021-10-16 15:34:42 字數 1115 閱讀 7749

可空型別

可空型別主要用於引數型別宣告和函式返回值宣告。

主要的兩種形式如下:

function answer(): ?int

foo_nullable(new bar); // 可行

foo_nullable(null); // 可行

foo_nullable(); // 不可行

但是如果以上函式的引數定義為 ?bar $bar = null 的形式,則第三種寫法也是可行的。因為 = null 實際上相當於 ? 的超集,對於可空型別的引數,可以設定 null 為預設值。

list 的方括號簡寫

我們知道在 php5.4 之前只能通過 array() 來定義陣列,5.4之後新增了 的簡化寫法(省略了5個字元還是很實在的)。

// 5.4 之前

$array = array(1, 2, 3);

$array = array("a" => 1, "b" => 2, "c" => 3);

// 5.4 及之後

$array = [1, 2, 3];

$array = ["a" => 1, "b" => 2, "c" => 3];

引申到另外乙個問題上,如果我們要把陣列的值賦值給不同的變數,可以通過 list 來實現:

list($a, $b, $c) = $array;

是否也可以通過 的簡寫來實現呢?

[$a, $b, $c] = $array;

["a" => $a, "b" => $b, "c" => $c] = $array;

php7.1 實現了這個特性。但是要注意的是:出現在左值中的 並不是陣列的簡寫,是 list() 的簡寫。

但是並不僅僅如此,新的 list() 的實現並不僅僅可以出現在左值中,也能在 foreach 迴圈中使用:

foreach ($points as ["x" => $x, "y" => $y]) catch (exceptiontype1 $e) catch (exceptiontype2 $e) catch (\exception $e) catch (exceptiontype1 | exceptiontype2 $e) catch (\exception $e) {

對於異常的處理簡化了一些。

PHP7 1安裝yaf擴充套件

php71安裝yaf擴充套件 把php命令加到系統 安裝我的php安裝目錄是 usr local webserver php,所以phpize是 usr local webserver php bin phpize,但是考慮到以後可能會用到其他命令,所以一次把該目錄下的檔案都做了乙個軟鏈結 ln u...

php7 1 安裝swoole擴充套件

centos linux release 7.3.1611 core php 7.0.22 cli built aug 9 2017 18 23 24 nts mysql ver 15.1 distrib 5.5.52 mariadb,for linux x86 64 using readline ...

php7 1安裝swoole擴充套件

在已經編譯好安裝的php7.1中安裝swoole擴充套件。wget c二 解壓swoole包 tar xzvf swoole 4.2.1.tgz cd swoole 4.2.1 三 生成configure配置檔案 usr local php bin phpize四 指定php配置檔案進行預編譯 co...