question = $row; $this->fieldFactory = new DbFieldFactory(); $this->setFields(); } private function setFields() { $this->setQuestionField(); $fields = array('Answer', 'PassCriteria', 'Comments', 'Sources'); foreach ($fields as $field) { $this->setField($field); } } private function setQuestionField() { $this->fields['Question'] = $this->fieldFactory->getField( 'Question', $this->question->Question, $this->question->Number); } private function setField($field) { $f = $this->fieldFactory->getField( $field, $this->question->{$field} ); if ($f->isEmpty()) { return; } $this->fields[$field] = $f; } }