protected function setPropValue($obj, $propName, $value)
    {
        if (method_exists($obj, 'set' . $propName)) {
            $obj->{'set' . $propName}($value);
        } elseif (isset($obj->{$propName}) || $obj instanceof stdClass) {
            $obj->{$propName} = $value;
        } else {
            // Check if source property have property case name different from target
            $className = get_class($obj);
            if (!isset($this->propNameLower[$className])) {
                $this->propNameLower[$className] = [];

                $classVars = get_class_vars($className);
                foreach ($classVars as $varKey => $varValue) {
                    $this->propNameLower[$className][strtolower($varKey)] = $varKey;
                }
            }

            $propLower = strtolower($propName);
            if (isset($this->propNameLower[$className][$propLower])) {
                $obj->{$this->propNameLower[$className][$propLower]} = $value;
            }
        }
    }
protected function setPropValue($obj, $propName, $value)
    {
        if (method_exists($obj, 'set' . $propName)) {
            $obj->{'set' . $propName}($value);
        } elseif (isset($obj->{$propName}) || $obj instanceof stdClass) {
            $obj->{$propName} = $value;
        } else {
            // Check if source property have property case name different from target
            $className = get_class($obj);
            if (!isset($this->propNameLower[$className])) {
                $this->propNameLower[$className] = [];

                $classVars = get_class_vars($className);
                foreach ($classVars as $varKey => $varValue) {
                    $this->propNameLower[$className][strtolower($varKey)] = $varKey;
                }
            }

            $propLower = strtolower($propName);
            if (isset($this->propNameLower[$className][$propLower])) {
                $obj->{$this->propNameLower[$className][$propLower]} = $value;
            }
        }
    }
protected function setPropValue ( $ obj , $ propName , $ value ) { if ( method_exists ( $ obj , 'set' . $ propName ) ) { $ obj -> { 'set' . $ propName } ( $ value ) ; } elseif ( isset ( $ obj -> { $ propName } ) || $ obj instanceof stdClass ) { $ obj -> { $ propName } = $ value ; } else { // Check if source property have property case name different from target $ className = get_class ( $ obj ) ; if ( ! isset ( $ this -> propNameLower [ $ className ] ) ) { $ this -> propNameLower [ $ className ] = [ ] ; $ classVars = get_class_vars ( $ className ) ; foreach ( $ classVars as $ varKey => $ varValue ) { $ this -> propNameLower [ $ className ] [ strtolower ( $ varKey ) ] = $ varKey ; } } $ propLower = strtolower ( $ propName ) ; if ( isset ( $ this -> propNameLower [ $ className ] [ $ propLower ] ) ) { $ obj -> { $ this -> propNameLower [ $ className ] [ $ propLower ] } = $ value ; } } }
Set the property value

@param mixed $obj
@param string $propName
@param string $value
Set the property value