基本的には、いくつかの異なるモデルを使用するファクトリクラスを実装したいと考えています。私はyii2の中でこれをやっていかなければならないのかという手がかりはない。どんな助けもいいだろう。工場クラスを作成するためのyii2のベストプラクティスは何ですか?
ここに私がしようとしていることの一般的な考えがあります。 app \ models \ Eventを使用します。 app \ models \ EventParticipantを使用します。 app \ models \ Matchを使用します。
/**
* @property Event $Event
* @property EventParticipant $EventParticipant
* @property Match $Match
*/
abstract class Tournament
{
protected $_id;
protected $_event;
protected $_type;
final public function __construct($event) {
$this->Event = new Event();
$this->EventParticipant = new EventParticipant();
$this->Match = new Match();
if(!$event) {
throw new \yii\web\HttpException(400, 'Invalid Event', 405);
}
$this->_id = $event['Event']['id'];
}
}
}
工場の理由もよく作っていますので、シングルエリミネーション、ダブルエリミネーション、ラウンドロビン、スイスなど – user1620152