首页 > Web开发 > 详细

php7新特性

时间:2019-11-17 23:59:50      阅读:131      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

一。闭包调用 -- 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新特性

原文:https://www.cnblogs.com/GH-123/p/11879144.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!