php7新特性

Posted Python++

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php7新特性相关的知识,希望对你有一定的参考价值。

一。闭包调用 -- Closure::call()

  php7之前,想要动态的给一个对象添加方法时,可以通过Closure来复制一个闭包对象,并绑定到一个$this对象和类作用域,即 bindTo 。而PHP7增加了新特性Closure::call(), 可以通过call来暂时绑定一个闭包对象到$this对象并调用它。

  新建一个Test类

class Test{
    private $num = 1;
    public function __construct($n=0)
    {
        $this->num = $this->num+$n;
    }
    public function getNum(){
        return $this->num;
    }
}

  再来一个闭包

$f = function (){
    return $this->num = 9;
};

  然后new一个test对象

   临时绑定操作

   查看对象的num是否更改

   对象的私有属性num被更改,闭包对象被绑定到$this对象并被调用。

二。更多新特性参考官网:https://www.php.net/manual/zh/migration71.php

以上是关于php7新特性的主要内容,如果未能解决你的问题,请参考以下文章

PHP7新特性

php7新特性

PHP7的新特性

PHP7新特性

[PHP7.0-PHP7.2]的新特性和新变更

php7新特性