一、概述

闭包是指在创建时封装周围状态的函数,即使闭包所在的环境的不存在了,闭包中封装的状态依然存在。
闭包对象实现了__invoke()魔术方法,只要变量名后有(),PHP就会查找并调用__invoke方法。

1、闭包可以赋值给变量
2、闭包可以作为参数(回调函数)传递给函数
3、闭包可以作为函数的返回值
4、定义一个闭包函数,即产生了一个闭包类(Closure)的对象

Closure {
        /* Methods */
        private __construct ( void )

        /**
         * Closure::bindTo的静态版本
         */
        public static bind ( Closure $closure , object $newthis [, mixed $newscope = "static" ] ) : Closure
        
        /**
         * 复制当前闭包对象,绑定指定的$this对象和类作用域。
         */
        public bindTo ( object $newthis [, mixed $newscope = "static" ] ) : Closure

        /**
         * 绑定闭包对象到$newthis,并使用参数$parameters进行调用
         */
        public call ( object $newthis [, mixed $... ] ) : mixed

        /**
         * 将一个callable对象转换成一个闭包对象
         */
        public static fromCallable ( callable $callable ) : Closure
    }

更多相关文章

  1. 如何对继承对象进行单元测试?
  2. PHP空间函数类似于ASP空间()
  3. PHP中类和对象的相关函数
  4. 【PHP面向对象(OOP)编程入门教程】15.static和const关键字的使用
  5. php函数 什么时候使用fflush函数
  6. 如何调试UPDATE函数在PHP中无法正常工作的原因?
  7. PHP结束后执行函数
  8. PHP面向对象笔记 —— 113 封装概念
  9. php变量函数,回调函数

随机推荐

  1. 【春节特辑】24 点游戏
  2. Python 正在吞噬世界
  3. 1 个 Python 自动化脚本引发的惨案!把公司
  4. 【春节特辑】斐波那契数列的黄金分割
  5. 在 GitHub 公开源码,造成百万损失,大疆程序
  6. 做出这道题,说明你很有机会进入 Google
  7. 数据结构与算法——2-3树
  8. 花了 2 亿多,等了近 2 年,结果连个可用的网
  9. 剑指 offer 第一题: 二维数组中的查找
  10. 算法科普:有趣的游程编码