PHP 如何调用 parent::__call() 并传入参数

php
2022-08-30 21:02:34

如果我在PHP类中重载该方法,如果我的代码不执行其他操作,我该如何调用实际方法?例如:__call

public function __call($name, $arguments)
{
    if($name == 'tom')
    {
        $this->doName($name);
    }
    else
    {
        // Something here to carry on the __call maybe:
        // $this->$name($arguments);
    }
}

问题是,它们作为数组传递,我怎么能继续传递它们,信息有没有正确的方法可以做到这一点?$arguments$this->$name($arg, $arg, $arg ...)


答案 1

您可以致电:

return parent::__call($name, $arguments);

还是我误解了你在问什么?

编辑:

如果你的意思是你想打电话试图触发,它将不起作用。你最终会进入一个无限循环,直到堆栈溢出并php崩溃(换句话说,它很糟糕)......$this->$name()parent::__call()


答案 2

您可以使用以下命令:

call_user_func_array("self::method", $parameters)

推荐