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

search for in the

ReflectionClass::getStaticPropertyValue> <ReflectionClass::getStartLine
[edit] Last updated: Fri, 23 Mar 2012

view this page in

ReflectionClass::getStaticProperties

(PHP 5)

ReflectionClass::getStaticPropertiesGets static properties

Opis

public array ReflectionClass::getStaticProperties ( void )

Get the static properties.

Ostrzeżenie

Ta funkcja jest obecnie nieudokumentowana, dostępna jest jedynie lista jej argumentów.

Parametry

Ta funkcja nie posiada parametrów.

Zwracane wartości

The static properties, as an array.

Zobacz też:



add a note add a note User Contributed Notes ReflectionClass::getStaticProperties
jlennox @ google mail 08-May-2010 01:03
I had the need to recursive merge the results from a subclass with all of it's parents, and this was the resulting code:

<?php
function GetStaticPropertiesRecursive($class) {
   
$currentClass = $class;
   
$joinedProperties = array();
    do {
       
$reflection = new ReflectionClass($class);
       
$staticProperties = $reflection->getStaticProperties();
        foreach (
$staticProperties as $name => $value) {
            if (
is_array($value)) {
                if (isset(
$joinedProperties[$name]))
                   
$joinedProperties[$name] = array_merge($value, $joinedProperties[$name]);
                else
                   
$joinedProperties[$name] = $value;
            } else {
                if (isset(
$joinedProperties[$name]))
                   
$joinedProperties[$name][] = $value;
                else
                   
$joinedProperties[$name] = array($value);
            }
        }
    } while (
$class = get_parent_class($class));
    return
$joinedProperties;
}

Using this function:
class
base {
    public static
$Test = array("foo1", "foo2");
}
class
sub extends base {
    public static
$Test = "sub";
}

print_r(GetStaticPropertiesRecursive("sub"));
?>

That outputs:
Array
(
    [Test] => Array
        (
            [0] => foo1
            [1] => foo2
            [2] => sub
        )

)

The merge follows the rules of array_merge on duplicate keys.

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