Php 链接相关类,但不扩展
我有两个PHP类,Php 链接相关类,但不扩展,php,class,Php,Class,我有两个PHP类,ResultCounter和ResultDetail,第一个依赖于第二个,但第二个不依赖于第一个。我突然想到,这些类应该以某种方式进行正式链接,但我不知道如何做到这一点 我曾考虑将第一个类作为第二个类的子类,但这不起作用,因为第一个类有很多(但数量有限)第二个实例 下面是这两门课的基础知识,让你了解我在说什么 class ResultCounter { private $W; private $L; private $D; private $T;
ResultCounter
和ResultDetail
,第一个依赖于第二个,但第二个不依赖于第一个。我突然想到,这些类应该以某种方式进行正式链接,但我不知道如何做到这一点
我曾考虑将第一个类作为第二个类的子类,但这不起作用,因为第一个类有很多(但数量有限)第二个实例
下面是这两门课的基础知识,让你了解我在说什么
class ResultCounter {
private $W;
private $L;
private $D;
private $T;
private $A;
private $X;
private $B1;
private $B2;
function __construct() {
$this->W = new ResultDetail;
$this->L = new ResultDetail;
$this->D = new ResultDetail;
$this->T = new ResultDetail;
$this->A = new ResultDetail;
$this->X = new ResultDetail;
$this->B1 = new ResultDetail;
$this->B2 = new ResultDetail;
}
// some other functions
}
class ResultDetail {
public $count = 0;
public $batfirst;
public $batsecond;
// some functions but don't ever reference ResultCounter
}
有时还需要在项目中有一个单独的ResultDetail
实例
是否有一种链接这些类的方法使得
ResultCounter
显式依赖于ResultDetail
?在构造函数中定义实例就足够了,还是我不必担心这个问题?我不必担心。在任何应用程序中,类都将依赖于其他类。如果它们保存在同一个源树中,那么通常会假设它们可能是依赖的。在任何情况下,如果ResultDetail
由于任何原因丢失,当有人试图构造ResultCounter
时,PHP会给他们一个错误,说它找不到ResultDetail
紧密耦合(您已经有了)通常被认为是不好的做法。为什么要添加进一步的“链接”?我会选择另一种方式,并考虑使用<代码>结果计数器< /C>类在构造函数中使用<代码> IResultDetailFactory < /代码>。