PHP7中如何使用Closure :: call

PHP 7Closure::call() 有着更好的性能,作用:将一个闭包函数动态绑定到一个新的对象实例并调用执行该函数。

描述:

public mixed Closure::call ( object $newthis [, mixed $... ] )

暂时将闭包绑定到newthis,并用任何给定的参数调用。

php7之前的示例:

<?php
class A {
    private $x = 1;
  }
// PHP 7 之前版本定义闭包函数代码
    $getXCB = function()
    {
    return $this->x;
    };
// 闭包函数绑定到类 A 上
$getX = $getXCB->bindTo(new A, 'A'); 
echo $getX();
print(PHP_EOL);

php7之后的示例:

<?php
class A {
    private $x = 1;
  }
   $getX = function() {
        return $this->x;
  };
  echo $getX->call(new A);
 ?>

原创文章,作者:NZTDW,如若转载,请注明出处:http://www.wangzhanshi.com/n/9498.html

(0)
NZTDW的头像NZTDW
上一篇 2025年1月1日 16:46:41
下一篇 2025年1月1日 16:47:04

相关推荐

  • declare如何在PHP7中使用

    php7 仍然支持弱类型检测,即仍然可以使用原来的方式声明形参。 标量声明有两种特性: 强制模式(默认):体现在类型转换上 严格模式 模式声明:declare(strict_typ…

    2025年1月1日
  • PHP7带来的好处有哪些

    由于php升级乃头等大事,公司近期才打算升级,所以之前一直只能私下欣赏php7带来的快感 PHP7带来的好处 是的,性能上的大幅度提升,可以省机器,可以省钱。 PHP7带来的新东西…

    2025年1月1日
  • php7版本在php5版本上做了哪些更新?

    1、性能提升:PHP7比PHP5.0性能提升了两倍。 补:PHP7 比 PHP5 性能提升的原因 变量存储字节减小,减少内存占用,提升变量操作速度 改善数组结构,数组元素和hash…

    php 2025年1月1日
  • PHP7中的空合并运算符怎么用

    在 PHP7 中,引入了一个新的功能,即空合并运算符(??)。由于在 PHP7 项目中存在大量同时使用三元表达式和 isset() 的情况,因此新增的空合并运算符可以用来取代三元运…

    php 2025年1月1日
  • ThinkPHP3.2.3怎么从php5升级到php7

    首先ThinkPHP3.2.3支持php7吗, 绝对支持。 windows下,之前用的项目是部署在Apache2.4.17+php5.x版本, 因为客户那边网络安全扫描,发现很多漏…

    2025年1月1日
  • PHP7中“??”和“?:”的区别有哪些

    实践出真知~ 测试代码 输入测试: <?php $array = [ 'a' => 1, 'b' => 2, '…

    php 2025年1月1日
  • PHP7和PHP5有哪些区别

    安装两个PHP版本 http://php.net/ 已经有最新PHP7的最新版本,大家可自行下载。 为了测试PHP5和PHP7(PHP6已被放弃,心疼1s)的性能,我在不同的目录安…

    php 2025年1月1日
  • golang调用php7的方法有哪些

    执行php文件 func Test_exec(t *testing.T) {   engine.Initialize() &nbs…

    php 2025年1月1日
  • PHP7中的数据类型有哪些

    PHP中变量名→zval,变量值→zend_value。其变量内存是通过引用计数管理的,在PHP7中引用计数在value结构中。 变量类型: 头文件在PHP源码 /zend/zen…

    2025年1月1日
  • mysql8和php7不能连接如何解决

    mysql8和php7不能连接 解决办法: sudo vim /etc/my.cnf 添加: [mysqld] default_authentication_plugin=mysq…

    php 2025年1月1日

发表回复

登录后才能评论