我有两个PHP类,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
。