private function setValue(&$val) { yTest_debugCC('setValue ' . $this->className . '::' . $this->propertyName . ' = ' . var_export($val, true)); if ($this->isPublic) { $refl = new ReflectionClass($this->className); $refl->setStaticPropertyValue($this->propertyName, $val); } else { call_user_func(array($this->className, yTest_AddPublicAccessors::getSetterName($this->className, $this->propertyName)), $val); } }
public final function setProperty($object, $propertyName, $value) { $className = get_class($object); $isPublic = yTest_Reflection::isPropertyPublic($className, $propertyName); if (!$isPublic) { $this->letMeAccess($className, $propertyName); } call_user_func(array($object, yTest_AddPublicAccessors::getSetterName($className, $propertyName)), $value); // [RS] PHP >= 5.3 : //~ $className = get_class($object); //~ $ref = new ReflectionProperty($className, $propertyName); //~ $ref->setValue($object, $value); }