我将自己介绍给依赖注入(在我的例子中是Zend \ Di)。我不知道我错了什么,但我找不到如何覆盖父类。假设我们有三个类A,B和C:
class A implements C {
...
}
class B extends A implements C {
...
}
interface C {
...
}
现在,我想创建一个自定义类D,它改变了在A:
中实现的一些功能class D extends A {
//override A's required methods
}
我现在需要做的是,通过依赖注入,确保B从D而不是A扩展,因此它继承了这些覆盖方法。我需要通过Di配置来做到这一点,所以我觉得它应该是这样的:
<?php
return [
'definition' => [
'class' => [
'My_Namespace\D' => [
'supertypes' => ['Base_Namespace\A'] /*it needs to be an array*/
]
]
]
];
我在两种不同情况下对此进行测试,并且此配置不执行任何操作(B继续继承A方法)或者在调用需要B的构造函数时出错(传递的参数必须是B的实例,给定字符串)
我做错了什么?