ReflectionProperty::setValue

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::setValueDéfinit la valeur de la propriété

Description

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

Définit (modifie) la valeur de la propriété.

Liste de paramètres

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.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

Émet 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().

Exemples

Exemple #1 Exemple avec 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"

Voir aussi