PHP覆盖方法并在同一个类中调用覆盖

时间:2017-03-29 12:52:06

标签: php class

我有一个由外部开发人员提供的课程。他可以随时更新他的班级。 他的一种方法,例如" getArray",直接返回一个包含重要信息的数组。

class externalDevDudesClass 
{
    public function getArray
    {
        return array(
            'example' => 'important information';
        );
    }
}

我想在给定的数组中添加一些信息。 我有可能复制并覆盖他班级的任何方法,但后来我没有更新的新信息。 是的,我可以创建一个他班级的孩子,但我不能更新代码,它创建了类的对象" externalDevDudesClass"。所以我的问题是:是否有可能通过调用方法" getArray"?为此数组添加其他信息。也许通过使用class_alias或其他东西?

1 个答案:

答案 0 :(得分:0)

当然有一个解决方案。扩展他的类并将您的信息添加到parent :: getArray()

的返回值
class MyClass extends externalDevDudesClass {
    public function getArray() {
        $parentValue = parent::getArray();
        return array_merge($parentValue, ['my' => 1];
    }
}