美文网首页
php 7.1 新特性解析

php 7.1 新特性解析

作者: wudanyang | 来源:发表于2018-10-09 20:51 被阅读10次

php 7.1 新特性解析

返回值和传入参数可以指定为 null

<?php

function testReturn(): ?string
{
    return 'elePHPant';
}

var_dump(testReturn());

// 此处返回值如果没有问号,那么不能返回 null 值
function testReturn(): ?string
{
    return null;
}

var_dump(testReturn());

// 参数类型提示为 ?string 代表可以传入一个 null 类型和 string 类型的值,但是不能不传值
function test(?string $name)
{
    var_dump($name);
}

test('elePHPant');
test(null);
test();

void 函数

function swap(&$left, &$right) : void  // 在函数定义时,可以将 void 作为返回值类型,并且不能返回 null

短数组语法解析数组元素

<?php
    
// 可以使用 [] 短数组语法代替 list
$data = [
    [2, 'b', 'B'],
    [3, 'c', 'C'],
];

// list 可以解析数组的每个元素
foreach ($data as list($id, $lower, $upper)) {
    echo $id.$lower.$upper.PHP_EOL;
}

// 7.1 中可以使用两个中括号解析数组,当做 list 来用
foreach ($data as [$id, $lower, $upper]) {
    echo $id.$lower.$upper.PHP_EOL;
}

// list 支持自定义键名, 并且只能使用自定义键名进行赋值,无法自动按照顺序进行赋值
$data = [
    ["id" => 1, "lower" => 'a', 'upper' => 'A'],
];

// data 中 lower 的值赋值给 $id1
["lower" => $id1, "id" => $name1] = $data[0];

类常量可见性

<?php
class ConstDemo
{
    const PUBLIC_CONST_A = 1; // 默认还是 public 的
    public const PUBLIC_CONST_B = 2; // php7.1之前不允许设置可见性(封装特性)
    protected const PROTECTED_CONST = 3;
    private const PRIVATE_CONST = 4;
}

iterable 伪类

这个类可以用在参数或者返回值中。并且这个类型的参数或者返回值可以迭代(使用 foreach 遍历元素)

<?php
function iterator(iterable $iter)
{
    foreach ($iter as $val) {
        //
    }
}

多异常捕获

<?php
try {
    // some code
} catch (FirstException | SecondException $e) { // 处理多个异常不用为多个异常写多个 catch
    // handle first and second exceptions
}

支持为负的字符串偏移量

就是所有的字符串函数偏移量都可以为负数,负数表示偏移量从字符串的最后一位往前数

ext/openssl 支持 AEAD

AEAD 是一个加密标准

AEAD算法浅析

HTTP/2 server push support in ext/curl

当用户的浏览器和服务器在建立链接后,服务器主动将一些资源推送给浏览器并缓存起来,这样当浏览器接下来请求这些资源时就直接从缓存中读取,不会在从服务器上拉了,提升了速率。

http server push

参考:

7.1新特性

相关文章

  • php 7.1 新特性解析

    php 7.1 新特性解析 返回值和传入参数可以指定为 null void 函数 短数组语法解析数组元素 类常量可...

  • PHP 7.1 新特性

    可空类型 可空类型主要用于参数类型声明和函数返回值声明。 主要的两种形式如下: 从例子很容易理解,所指的就是通过 ...

  • php7.1加密解密 openssl_encrypt 替代

    1 概况 php7.1发布后新特性吸引了不少PHPer,大家都在讨论新特性带来的好处与便利。但是从php7.0 升...

  • PHP7 特性

    新特性 7.2与7.1的区别允许重写抽象方法(Abstract method)通过名称加载扩展 dl() 但PHP...

  • PHP 安装(7.1/5.6)

    PHP7.1 安装包目录: 下载: 解压并安装: 复制配置: 查看版本: 查看扩展: 备注: nginx解析php...

  • php 7.0,7.1,7.2,7.3新特性

    PHP7 性能速度是5.6的两倍 语法特性 参数类型声明 返回值类型声明 null合并运算符 define() 定...

  • PHP特性整合 php7特性

    PHP7 已经出来1年了,PHP7.1也即将和大家见面,这么多好的特性,好的方法,为什么不使用呢,也希望PHP越来...

  • php5.5 新特性

    php5.5新特性

  • Android 7.1 新特性:快捷方式 Shortcuts 详

    Android 7.1 新特性:快捷方式 Shortcuts 详解 一、Shortcuts 介绍 Android ...

  • PHP7.0 新特性

    变量类型 PHP7版本函数的参数和返回值增加了类型限定。为什么PHP要加入类型呢?实际上此项特性是为了PHP7.1...

网友评论

      本文标题:php 7.1 新特性解析

      本文链接:https://www.haomeiwen.com/subject/kwnyaftx.html