(PHP 4, PHP 5)
get_class_vars — Retourne les valeurs par défaut des propriétés d'une classe
Retourne les valeurs par défaut des propriétés d'une classe.
Le nom de la classe
retourne un tableau contenant les valeurs par défaut des propriétés publiques de la classe class_name . Les éléments du tableau résultant sont sous la forme : nom_variable => valeur.
Version | Description |
---|---|
5.0.3 | En fonction du contexte, get_class_vars() ne retourne que les propriétés qui sont accessibles depuis ce contexte. |
5.0.2 | Appeler get_class_vars() produit toutes les propriétés sous la forme d'un tableau, contrairement au comportement précédent où les propriétés privées et publiques étaient préfixées par des caractères null. |
5.0.1 | Appeler get_class_vars() retourne toutes les propriétés, exactement comme convertir un objet en un tableau. |
Avant la version 4.2.0 | Les variables de classe non initialisées n'étaient pas rapportées par get_class_vars(). |
Exemple #1 Exemple avec get_class_vars()
<?php
class myclass {
var $var1; // pas de valeur par défaut...
var $var2 = "xyz";
var $var3 = 100;
private $var4; // PHP 5
// constructeur
function myclass() {
// changement de quelques propriétés
$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 : $value\n";
}
?>
L'exemple ci-dessus va afficher :
// Avant PHP 4.2.0 var2 : xyz var3 : 100 // Depuis PHP 4.2.0 var1 : var2 : xyz var3 : 100
Exemple #2 Exemple avec get_class_vars() et les contextes
<?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'));
?>
L'exemple ci-dessus va afficher :
// 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