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

search for in the

ReflectionClass::getTraitAliases> <ReflectionClass::getStaticProperties
[edit] Last updated: Thu, 23 May 2013

view this page in

ReflectionClass::getStaticPropertyValue

(PHP 5 >= 5.1.0)

ReflectionClass::getStaticPropertyValueObtiene el valor de una propiedad estática

Descripción

public mixed ReflectionClass::getStaticPropertyValue ( string $name )

Obtiene el valor de una propiedad estática de esta clase.

Parámetros

name

El nombre de la propiedad estática para la que devolver un valor.

Valores devueltos

El valor de la propiedad estática.

Ejemplos

Ejemplo #1 Uso básico de ReflectionClass::getStaticPropertyValue()

<?php
class Apple {
    public static 
$color 'Rojo';
}

$class = new ReflectionClass('Apple');
var_dump($class->getStaticPropertyValue('color'));
?>

El resultado del ejemplo sería:

string(4) "Rojo"

Ver también



add a note add a note User Contributed Notes ReflectionClass::getStaticPropertyValue - [2 notes]
up
0
Antares
1 year ago
It seems this method has a security level different from the getStaticProperties method.

If you make two classes A and B looking like

<?php
class A{
        protected static
$static_var='foo';

        public function
getStatic(){
          
$class=new ReflectionClass($this);
           return
$class->getStaticPropertyValue('static_var');
        }

        public function
getStatic2(){
           
$class=new ReflectionClass($this);
           
$staticProps=$class->getStaticProperties();
            return
$staticProps['static_var'];
        }

        public function
__construct(){
              echo
$this->getStatic2();
              echo
$this->getStatic();
        }
}

class
B extends A{
        protected static
$static_var='foo2';

}
?>

Then the output will be an exception for the getStatic() call, when the getStatic2() will correctly return 'foo2';
up
0
Mauro Gabriel Titimoli
3 years ago
If you want to change a static property of a variable class...

PHP 5.2
<?php
$reflection
= new ReflectionClass($className);
$staticPropertyReference = & $reflection->getStaticPropertyValue($staticPropertyName);

$staticPropertyReference = 'new value';
?>

PHP 5.3
<?php
$className
::$$classProperty
?>

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