我有一個課程來構建Laravel課程註冊報告。以下是我的課程:Laravel中的聚合注入
class Report {
protected $user;
protected $course;
protected $registration;
public function __construct(User $user, Course $course, Registration $registration) {
$this->user = $user;
$this->course = $course;
$this->registration = $registration;
}
public function build() {
// build report
}
}
Laravel將自動將用戶,課程和註冊模型實例注入報告。 如果我需要更多其他應該用來構建報表的模型類,則需要向Report的構造函數添加更多參數。
class Report {
protected $user;
protected $course;
protected $registration;
public function __construct(User $user, Course $course, Registration $registration, Another1 $another1, Another2 $another2, ...) {
$this->user = $user;
$this->course = $course;
$this->registration = $registration;
}
public function build() {
// build report
}
}
這是正確的方法嗎? 有沒有其他方法來聚合那些將在Report類中使用的類?我應該使用Facade Pattern來重構它嗎?
任何幫助表示讚賞。