将类变量分配给函数并调用

时间:2019-06-13 18:29:57

标签: php class

寻找将函数分配给类变量然后调用它的方法。

我知道您可以将var类分配给另一个变量,然后再调用它,但是我正在寻找一种无需创建临时变量也不会使我的代码混乱的方法。

是临时变量还是仅使用call_user_func()

class MyClass {
    public $callMe;
    public function __construct() {
        $this->callMe = function(...$args) {
            print_r(['HIT', $args]);
        };

        // $this->callMe('asd', 'sda');
        // Error: PHP Fatal error:  Call to undefined method test::callMe()

        // This works, but I would prefer not to create temporary variables for this
        $tmp = $this->callMe;
        $tmp('sd','adsf','fdas');
    }
}

1 个答案:

答案 0 :(得分:2)

尝试以下操作之一:

($this->callMe)('sd','adsf','fdas');
call_user_func($this-callMe, 'sd','adsf','fdas');