php如何在定义对象之前在闭包中获取引用

悟空

我有一个课,有一个test函数在课上A我想$server$invoker's函数体中获得参考我使用Closure获取的引用$this,但是我无法获取$server使用Closure的引用,因为$server在定义之后 $inovker就定义了。

谢谢。

class A {
    public test() {
        $self = $this;

        $invoker = function () use($self){
            $self.test2(); // ok, no problem, Closure is my best friend
            $server.someMethod(); //Error, How to access $server here?
        }

        $server = new B($invoker);
    }

    public test2(){
        echo "Thank you";
    }
}
约里克·德·威德

这是一个鸡蛋问题。由于PHP从上到下进行处理,因此无法正常工作。您可以做的是创建一个全局变量来保存$ server。您可以将此变量传递给调用程序,但是只有在调用类B之后,您才能使用全局变量。我不建议这样做,因为您依赖于未初始化的变量。看起来您在PHP中尝试了一些C逻辑。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Swift中设置对闭包/函数的弱引用?

来自分类Dev

如何在闭包中更改引用传递的数组的数据

来自分类Dev

如何在Swift中从闭包中获取数据

来自分类常见问题

如何在泛型结构中定义const闭包

来自分类Dev

如何在Swift中定义闭包数组?

来自分类Dev

如何在泛型结构中定义const闭包

来自分类Dev

如何在结构中存储闭包对象?

来自分类Dev

如何在Swift中获取初始的闭包变量?

来自分类Dev

如何在 PHP 中控制闭包的命名空间?

来自分类Dev

如何在PHP闭包中使用$ this?

来自分类Dev

如何在PHP闭包中使用$ this?

来自分类Dev

如何获取在闭包中声明的变量

来自分类Dev

如何在方法中调用闭包

来自分类Dev

如何在scala中实现闭包?

来自分类Dev

如何在闭包中制作原型?

来自分类Dev

模拟/存根仅在闭包中定义的对象

来自分类Dev

无法创建闭包中定义的函数的对象?

来自分类Dev

如何在Java中获取对象的父对象引用?

来自分类Dev

深度级别的重要性(在闭包表中)以及如何在 php 中完成

来自分类Dev

如何使用带有预定义参数的PHP闭包

来自分类Dev

如何从闭包返回对闭包参数的引用?

来自分类Dev

如何在PHP中获得对根对象的迭代对象引用?

来自分类Dev

从闭包中获取数据

来自分类Dev

UnboundLocalError:在python闭包中赋值之前引用的局部变量

来自分类Dev

如何在php中获取扩展对象?

来自分类Dev

如何在 PHP 中获取对象的值

来自分类Dev

如何在类方法中获取当前对象引用?

来自分类Dev

如何在VSPackage MSVS扩展中获取对Package对象的引用?

来自分类Dev

如何在PHP的闭包函数中使用变量?

Related 相关文章

热门标签

归档