static protected function setBySetter($object, $propertyName, $propertyValue, $failOnUnknownGetter)
    {
        $setter = array($object, 'set' . $propertyName);

        if (is_callable($setter))
        {
            return call_user_func($setter, $propertyValue);
        }
        elseif ($failOnUnknownGetter === true)
        {
            throw new RuntimeException("Unknown setter for property '{$propertyName}'");
        }
    }
static protected function setBySetter($object, $propertyName, $propertyValue, $failOnUnknownGetter)
    {
        $setter = array($object, 'set' . $propertyName);

        if (is_callable($setter))
        {
            return call_user_func($setter, $propertyValue);
        }
        elseif ($failOnUnknownGetter === true)
        {
            throw new RuntimeException("Unknown setter for property '{$propertyName}'");
        }
    }
static protected function setBySetter ( $ object , $ propertyName , $ propertyValue , $ failOnUnknownGetter ) { $ setter = array ( $ object , 'set' . $ propertyName ) ; if ( is_callable ( $ setter ) ) { return call_user_func ( $ setter , $ propertyValue ) ; } elseif ( $ failOnUnknownGetter === true ) { throw new RuntimeException ( "Unknown setter for property '{$propertyName}'" ) ; } }
Set property value by property name

@param       object      $object                     Object with data
@param       string      $propertyName               Property name
@param       mixed       $propertyValue              Value to set
@param       boolean     $failOnUnknownGetter        Throw exception if setter not found or not

@return      mixed|null                              Setter return value or null, if setter not found

@throws      RuntimeException                        Property setter not found
Set property value by property name