2015-12-27 15 views
8

Beispiel Klasse:Erhalten Sie eine Reihe von Klasse statischer Membervariablen

class Example{ 
    public static $ONE = [1,'one']; 
    public static $TWO = [2,'two']; 
    public static $THREE = [3,'three']; 

    public static function test(){ 

     // manually created array 
     $arr = [ 
      self::$ONE, 
      self::$TWO, 
      self::$THREE 
     ]; 
    }  
} 

Gibt es eine Möglichkeit in PHP eine Reihe von Klasse statischer Membervariablen zu erhalten, ohne es manuell wie im Beispiel zu schaffen?

Antwort

10

Ja, es gibt:

Mit Reflection und die getStaticProperties() Methode

class Example{ 
    public static $ONE = [1,'one']; 
    public static $TWO = [2,'two']; 
    public static $THREE = [3,'three']; 

    public static function test(){ 
     $reflection = new ReflectionClass(get_class()); 
     return $reflection->getStaticProperties(); 
    }  
} 

var_dump(Example::test()); 

Demo

Verwandte Themen