/** * @param array $record * @param AbstractModel $object * @return AbstractModel */ public function recordToObject($record, AbstractModel $object) { if (!is_array($record)) { return NULL; } /** @var AbstractModel $object */ foreach ($record as $fieldname => $value) { $setter = Nomenclature::fieldnameToSetter($fieldname); if (method_exists($object, $setter)) { call_user_func([$object, $setter], $value); continue; } // @deprecated: Since: 1.4, Removal: 1.6, Reason: Use lower camel cased setters instead $setter = 'set_' . $fieldname; if (method_exists($object, $setter)) { call_user_func([$object, $setter], $value); } } return $object; }
/** * @test */ public function fieldnameToSetter() { $this->assertSame($this->names['setter'], Nomenclature::fieldnameToSetter($this->names['fieldname'])); }