ReflectionProperty::setAccessible
ReflectionProperty::__toString
ReflectionProperty
PHP Manual

# ReflectionProperty::setValue

Set property value

### Description

public void ReflectionProperty::setValue ( object `$object` , mixed `$value` )
public void ReflectionProperty::setValue ( mixed `$value` )

Sets (changes) the property's value.

### Parameters

`object`

  If the property is non-static an object must be provided to change the property on. If the property is static this parameter is left out and only `value` needs to be provided.

`value`

  The new value.

### Return Values

No value is returned.

### Errors/Exceptions

Throws a ReflectionException if the property is inaccessible. You can make a protected or private property accessible using ReflectionProperty::setAccessible.

### Examples

Example #1 ReflectionProperty::setValue example

`<?php
class Foo {
public static $staticProperty;
public $property;
protected $privateProperty;
}
$reflectionClass = new ReflectionClass('Foo');
$reflectionClass->getProperty('staticProperty')->setValue('foo');
var_dump(Foo::$staticProperty);
$foo = new Foo;
$reflectionClass->getProperty('property')->setValue($foo, 'bar');
var_dump($foo->property);
$reflectionProperty = $reflectionClass->getProperty('privateProperty');
$reflectionProperty->setAccessible(true);
$reflectionProperty->setValue($foo, 'foobar');
var_dump($reflectionProperty->getValue($foo));
?>`

The above example will output:

    string(3) "foo"
    string(3) "bar"
    string(6) "foobar"

### See Also

- ReflectionProperty::getValue
- ReflectionProperty::setAccessible
- ReflectionClass::setStaticPropertyValue