码迷,mamicode.com
首页 > Web开发 > 详细

php7新特性

时间:2019-11-18 00:03:13      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:特性   get   func   mic   img   新特性   新建   方法   bind   

技术图片

 

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

标签:特性   get   func   mic   img   新特性   新建   方法   bind   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!