# get_class_vars

(PHP 4, PHP 5, PHP 7, PHP 8)

get_class_vars — Obtener las propiedades predeterminadas de una clase

### Descripción

get_class_vars(string `$class_name`): array

Obtiene las propiedades predeterminadas de la clase dada.

### Parámetros

`class_name`

  El nombre de la clase

### Valores devueltos

Devuelve una matriz asociativa de las propiedades declaradas visibles desde el ámbito actual, con su valor predeterminado. Los elementos del array resultante están en la forma `nombre_variable => valor`. En caso de error devuelve `false`.

### Historial de cambios

Versión | Descripción
--- | ---
5.0.3 | get_class_vars() devolverá sólo las propiedades que pueden ser accedidas desde el ámbito actual.
5.0.2 | Al llamar a get_class_vars() ahora se expondrán todas las propiedades como una matriz, a diferencia del comportamiento anterior donde las propieades protected y private eran prefijadas con bytes nul.
5.0.1 | Al llamar a get_class_vars() se expondrán todas las propiedades, como cuando se convierte un objeto en una clase.

### Ejemplos

Ejemplo #1 Ejemplo de get_class_vars()

`<?php
class miclase {
var $var1; // esta no tiene valor predeterminado...
var $var2 = "xyz";
var $var3 = 100;
private $var4;
// constructor
function __construct() {
// cambiar algunas propiedades
$this->var1 = "foo";
$this->var2 = "bar";
return true;
}
}
$mi_clase = new miclase();
$vars_clase = get_class_vars(get_class($mi_clase));
foreach ($vars_clase as $nombre => $valor) {
echo "$nombre : $valor\n";
}
?>`

El resultado del ejemplo sería:

    var1 :
    var2 : xyz
    var3 : 100

Ejemplo #2 get_class_vars() y comportamiento de ámbito

`<?php
function formato($matriz)
{
return implode('|', array_keys($matriz)) . "\r\n";
}
class TestCase
{
public $a = 1;
protected $b = 2;
private $c = 3;
public static function expose()
{
echo formato(get_class_vars(__CLASS__));
}
}
TestCase::expose();
echo formato(get_class_vars('TestCase'));
?>`

El resultado del ejemplo sería:

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

### Ver también

- get_class_methods() - Obtiene los nombres de los métodos de una clase
- get_object_vars() - Obtiene las propiedades del objeto dado