我有一个由外部开发人员提供的课程。他可以随时更新他的班级。 他的一种方法,例如" getArray",直接返回一个包含重要信息的数组。
class externalDevDudesClass
{
public function getArray
{
return array(
'example' => 'important information';
);
}
}
我想在给定的数组中添加一些信息。 我有可能复制并覆盖他班级的任何方法,但后来我没有更新的新信息。 是的,我可以创建一个他班级的孩子,但我不能更新代码,它创建了类的对象" externalDevDudesClass"。所以我的问题是:是否有可能通过调用方法" getArray"?为此数组添加其他信息。也许通过使用class_alias或其他东西?
答案 0 :(得分:0)
当然有一个解决方案。扩展他的类并将您的信息添加到parent :: getArray()
的返回值class MyClass extends externalDevDudesClass {
public function getArray() {
$parentValue = parent::getArray();
return array_merge($parentValue, ['my' => 1];
}
}