我正在写一个简单的游戏页面。
在我的控制器中,该方法如下所示:
ppublic function actionGame143(){
$model = new Game143();
$level = 1;
$numEx = 10;
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
$model->verifyAnswers($numEx);
return $this->render('Game143-confirm', ['model' => $model]);
} else {
$model->initGame($level, $numEx);
return $this->render('Game143', ['model' => $model]);
}
}
所以$numEx
是可以播放的最高级别,level
是起始级别。
在我的模型中,我使用initGame($level, $numEx)
保存了它们:
public function initGame($level, $numEx) {
$this->maxLevel = $numEx; // normally 10
$this->thisLevel = $level; //normally 1
那么为什么我需要再次verifyAnswer()
$numEx
?如果我不这样做,变量设置为NULL
或我在模型中定义的初始化?
通常它应该保存为$thisLevel
?
在我的视图类中,我只使用最大的变量进行for循环,直到它工作正常:
for($model->thisLevel = 1; $model->thisLevel <= $model->maxLevel; $model->thisLevel++) {...}
在结束时,我提交了一个按钮。$out .= Html::submitButton('Korrigieren', ['class' => 'btn btn-primary']);
不知道为什么它被设置为NULL
值或初始值?
由于与其他程序员的接口,我无法再次向verifyAnswer()
我的$numEx
提供。
我正在使用yii2。如果我将值设置为required
,我甚至无法提交。