在我的 MVC 中,我使用数组使用模型中的数据填充表单。我正在使用 PDO 并获取关联数组,这提供了一个可用于填充视图的字段数组。
当用户请求新记录时,数组为空,除非我在使用前明确测试每个变量的值,否则脚本会因索引不存在而崩溃。
我以前的方法是,对于新记录,设置一个空数组并将其传递给视图。这对于简单的表单来说很好,但是当视图需要使用 10-15 个变量时,这有点乏味。
这样做的首选方法是什么?我的视图应该在使用前测试每个字段,还是应该创建空数组。如果是这样,应该在控制器或模型中创建空数组吗?
例如,如果用户想要编辑现有记录,控制器将 ID 号传递给模型并要求它提供记录的当前值数组。
控制器将此数组传递给视图,然后视图将值合并到一个表单中以进行编辑。
相反,当控制器收到新记录的请求时,它知道向模型询问记录是没有意义的,因为它是新的。它不能只调用视图,因为传递的数组不包含表单所需的键。
我目前的方法是初始化一个空键数组,但这似乎很乏味、浪费时间并且容易出错,因为如果模型发生变化则需要对其进行维护。
例如:
$this->view->class['Code']=NULL;
$this->view->class['Description']=NULL;
$this->view->class['Image']=NULL;
$this->view->class['Judge']=NULL;
$this->view->class['Entries']=NULL;
$this->view->class['Absentees']=NULL;
ETC
一定有更好的方法?