链接依赖类但不扩展


Link Dependant Classes but Not Extend

我有两个PHP类,ResultCounterResultDetail,第一个依赖于第二个,但第二个不依赖于第一个。我突然想到,这些类应该以某种方式正式连接起来,但我不确定如何做到这一点

我想过让第一个成为第二个的子类,但这不起作用,因为第一个有很多(但数量有限)第二个实例。

以下是两门课的基础知识,让你了解我在说什么。

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