/** * @param AbstractModel $object * @return array */ public function objectToRecord(AbstractModel $object) { $record = []; foreach (get_class_methods($object) as $methodName) { $fieldname = Nomenclature::getterToFieldname($methodName); if (is_string($fieldname)) { $value = call_user_func([$object, $methodName]); $value = $this->scalarizeValue($value); $record[$fieldname] = $value; } } return $record; }
/** * @test */ public function getterToFieldname() { $this->assertSame($this->names['fieldname'], Nomenclature::getterToFieldname($this->names['getter'])); $this->assertSame($this->names['fieldname'], Nomenclature::getterToFieldname('get_my_field')); $this->assertFalse(Nomenclature::getterToFieldname('not_a_getter_method')); }