ReflectionClass
在线手册:中文 英文
PHP手册

ReflectionClass::getStaticPropertyValue

(PHP 5 >= 5.1.0)

ReflectionClass::getStaticPropertyValueGets static property value

说明

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

Gets the static property values.

Warning

本函数还未编写文档,仅有参数列表。

参数

name

default

返回值

参见


ReflectionClass
在线手册:中文 英文
PHP手册
PHP手册 - N: Gets static property value

用户评论:

Antares (16-Aug-2011 03:11)

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';

Mauro Gabriel Titimoli (21-Jan-2010 08:05)

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
?>