get_class_vars

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

get_class_varsObtener 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ónDescripción
5.0.3get_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 ca|b|c a|b|ca|b|c a

Ver también

To Top