用PHP覆盖类中的函数

时间:2013-11-04 14:08:01

标签: php class oop

所以我在PHP类中有一个函数,我想为另一个类(扩展类)修改该函数的版本。

我是否只需在扩展类中修改我的类?我如何在扩展类中使用不同的函数?

1 个答案:

答案 0 :(得分:6)

您可以覆盖子类中的方法,如下所示:

<?php

class A {
    public function printText($param) {
        echo 'foo';
    }
}

class B extends A {
    public function printText($param) {
        // Optional: This will call the printText method from the parent class A
        parent::printText($param); 

        echo 'bar';
    }
}

$instanceA = new A();
$instanceA->printText('sampleArg'); // Result: foo

$instanceB = new B();
$instanceB->printText('sampleArg'); // Result: foobar

/* EOF */

重要的是,被覆盖的方法与父类方法具有相同数量的参数,否则会出现PHP错误。