(PHP 5, PHP 7)
ReflectionProperty::setValue — Définit la valeur de la propriété
Définit (modifie) la valeur de la propriété.
object
L'objet à utiliser dans le cas d'une propriété non statique.
Si la propriété est statique, nul besoin de préciser un objet, seul
value
est nécessaire.
value
La nouvelle valeur.
Aucune valeur n'est retournée.
Emet une ReflectionException si la propriété est inaccessible. Vous pouvez transformer une propriété protégée ou privée en publique grâce à ReflectionProperty::setAccessible().
Exemple #1 Exemple ReflectionProperty::setValue()
<?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));
?>
L'exemple ci-dessus va afficher :
string(3) "foo" string(3) "bar" string(6) "foobar"