(PHP 4, PHP 5, PHP 7, PHP 8)
get_class_vars — Получает свойства класса, которые объявили по умолчанию
Функция возвращает свойства заданного класса, которые объявили по умолчанию.
class
Имя класса
Функция возвращает ассоциативный массив свойств класса со значениями,
которые объявили по умолчанию и которые
видны в области видимости вызова функции.
Функция выводит элементы массива с результатами в следующем виде:
varname => value
.
Функция возвращает false
, если возникла ошибка.
Пример #1 Пример использования функции get_class_vars()
<?php
class MyClass
{
public $var1; // Переменная не содержит явного значения по умолчанию, хотя технически значение по умолчанию равно NULL...
public $var2 = "xyz";
public $var3 = 100;
private $var4;
function __construct()
{
// Изменим значения отдельных свойств
$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";
}
?>
Результат выполнения приведённого примера:
var1: NULL var2: 'xyz' var3: 100
Пример #2 Пример поведения функции get_class_vars() в разных областях видимости
<?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'));
?>
Результат выполнения приведённого примера:
// 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