首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

在PHP中,可以使用parent::__call()方法来调用父类中的未定义方法,并传入参数。

parent::__call()方法是一个魔术方法,当调用的方法在当前类中未定义时,会自动触发该方法。它接受两个参数,第一个参数是要调用的方法名,第二个参数是一个数组,包含了传递给该方法的参数。

下面是一个示例代码:

代码语言:php
复制
class ParentClass {
    public function foo($param1, $param2) {
        echo "Calling foo() in parent class with parameters: $param1, $param2";
    }
}

class ChildClass extends ParentClass {
    public function __call($method, $args) {
        if ($method === 'foo') {
            // 调用父类的foo()方法
            parent::foo($args[0], $args[1]);
        }
    }
}

$child = new ChildClass();
$child->foo('param1', 'param2');

在上面的示例中,ChildClass继承了ParentClass,并重写了__call()方法。当调用ChildClass对象的foo()方法时,由于ChildClass中未定义该方法,会触发__call()方法。在__call()方法中,我们可以判断要调用的方法名是否是foo,如果是,则使用parent::foo()来调用父类中的foo()方法,并传入相应的参数。

这样,就实现了在子类中调用父类的未定义方法,并传递参数的功能。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券