public static function setFieldValue(PageInterface $object, $fieldName, $value, $method = null)
{
$setters = array();
// prefer method name given in the code option
if ($method) {
$setters[] = $method;
}
$camelizedFieldName = self::camelize($fieldName);
$setters[] = 'set' . $camelizedFieldName;
foreach ($setters as $setter) {
if (method_exists($object, $setter)) {
call_user_func(array(&$object, $setter), $value);
return $object;
}
}
if ($object->getId()) {
throw new NoValueException(sprintf('Unable to set the value of `%s`', $camelizedFieldName));
}
return $object;
}