downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

ReflectionProperty::__toString> <ReflectionProperty::setAccessible
[edit] Last updated: Fri, 07 Jun 2013

view this page in

ReflectionProperty::setValue

(PHP 5)

ReflectionProperty::setValueEstablece el valor de la propiedad

Descripción

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

Establece (cambia) el valor de la propiedad.

Parámetros

object

Si la propiedad no fuera estática, se deberá proporcionar un objeto sobre el que se cambiará la propiedad. Si la propiedad fuera estática, se omite este parámetro y sólo será necesario completar el value.

value

El nuevo valor.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza ReflectionException si la propiedad no fuera accesible. Si la propiedad fuera de tipo protegido o privado, podrá hacerse accesible mediante ReflectionProperty::setAccessible().

Ejemplos

Ejemplo #1 Ejemplo de 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));
?>

El resultado del ejemplo sería:

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

Ver también



add a note add a note User Contributed Notes ReflectionProperty::setValue - [1 notes]
up
0
me at ircmaxell dot om
1 year ago
You can use ReflectionProperty::setValue to set the value on static properties as well as regular instance properties.  Simply pass null in place of the instance:

<?php
class Foo {
    protected static
$bar = null;
    public static function
sayBar() {
        echo
self::$bar;
    }
}

$r = new ReflectionProperty('Foo', 'bar');
$r->setAccessible(true);
$r->setValue(null, 'foo');

Foo::sayBar(); // "foo"
?>

 
show source | credits | sitemap | contact | advertising | mirror sites