ReflectionClass::getStaticPropertyValue

(PHP 5 >= 5.1.0, PHP 7)

ReflectionClass::getStaticPropertyValueВозвращает значение static свойства

Описание

public mixed ReflectionClass::getStaticPropertyValue ( string $name [, mixed &$def_value ] )

Возвращает значение static (статического) свойства класса.

Список параметров

name

Имя статического свойства, значение которого необходимо получить

def_value

Значение по умолчанию, возвращаемое в случае, если в классе не определено статическое свойство с заданным именем name. Если свойство не существует и этот аргумент не задан, то бросается ReflectionException.

Возвращаемые значения

Значение статического свойства.

Примеры

Пример #1 Пример использования ReflectionClass::getStaticPropertyValue()

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

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

Результат выполнения данного примера:

string(3) "Red"

Смотрите также

Коментарии

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
?>
2010-01-21 14:05:40
http://php5.kiev.ua/manual/ru/reflectionclass.getstaticpropertyvalue.html
Автор:
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 
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';
2011-08-16 10:11:57
http://php5.kiev.ua/manual/ru/reflectionclass.getstaticpropertyvalue.html

    Поддержать сайт на родительском проекте КГБ