(PHP 4, PHP 5, PHP 7, PHP 8)
get_class_vars — Liefert die Vorgabeeigenschaften einer Klasse
Liefert die Vorgabeeigenschaften der angegebenen Klasse.
class
Der Klassenname
Liefert ein assoziatives Array von deklarierten Eigenschaften, die im aktuellen
Geltungsbereich sichtbar sind, mit ihren Vorgabewerten. Die Arrayeinträge
haben dabei die Form varname => value
.
Im Fehlerfall wird false
zurückgegeben.
Beispiel #1 get_class_vars()-Beispiel
<?php
class MyClass
{
public $var1; // Dies hat keinen expliziten Standardwert (technisch gesehen hat es NULL als Standardwert)...
public $var2 = "xyz";
public $var3 = 100;
private $var4;
public function __construct()
{
// Ändern einiger Eigenschaften
$this->var1 = "foo";
$this->var2 = "bar";
return true;
}
}
$my_class = new MyClass();
$class_vars = get_class_vars(get_class($my_class));
foreach ($class_vars as $name => $value) {
echo "{$name}: ", var_export($value, true), "\n";
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
var1: NULL var2: 'xyz' var3: 100
Beispiel #2 get_class_vars() und geltungsbereichsabhängiges Verhalten
<?php
function format($array)
{
return implode('|', array_keys($array)) . "\r\n";
}
class TestCase
{
public $a = 1;
protected $b = 2;
private $c = 3;
public static function expose()
{
echo format(get_class_vars(__CLASS__));
}
}
TestCase::expose();
echo format(get_class_vars('TestCase'));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
// 5.0.0 a| * b| TestCase c a| * b| TestCase c // 5.0.1 - 5.0.2 a|b|c a|b|c // 5.0.3 + a|b|c a