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: Wed, 22 May 2013

view this page in

ReflectionClass::getStaticPropertyValue

(PHP 5 >= 5.1.0)

ReflectionClass::getStaticPropertyValueRécupère la valeur d'une propriété statique

Description

public mixed ReflectionClass::getStaticPropertyValue ( string $name )

Récupère la valeur d'une propriété statique de la classe.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

name

Le nom de la propriété statique pour laquelle nous souhaitons récupérer la valeur.

Valeurs de retour

La valeur de la propriété statique.

Exemples

Exemple #1 Exemple avec ReflectionClass::getStaticPropertyValue()

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

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

L'exemple ci-dessus va afficher :

string(3) "Red"

Voir aussi



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