Funcții ale claselor/obiectelor
PHP Manual

get_class_vars

(PHP 4, PHP 5)

get_class_varsGet the default properties of the class

Descrierea

array get_class_vars ( string $class_name )

Get the default properties of the given class.

Parametri

class_name

The class name

Valorile întoarse

Returns an associative array of declared properties visible from the current scope, with their default value. The resulting array elements are in the form of varname => value. In case of an error, it returns FALSE.

Istoria schimbărilor

Versiunea Descriere
5.0.3 Depending on the scope, get_class_vars() will only return the properties that can be accessed from the current scope.
5.0.2 Calling get_class_vars() will now expose all the properties as an array, unlike previous behaviour where protected and private properties were prefixed with nul bytes.
5.0.1 Calling get_class_vars() will expose all properties, as when converting an object to a class.
4.2.0 Uninitialized class variables are now also reported by get_class_vars().

Exemple

Example #1 get_class_vars() example

<?php

class myclass {

    var 
$var1// this has no default value...
    
var $var2 "xyz";
    var 
$var3 100;
    private 
$var4// PHP 5

    // constructor
    
function myclass() {
        
// change some properties
        
$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";
}

?>

Exemplul de mai sus va afișa:

// Before PHP 4.2.0
var2 : xyz
var3 : 100

// As of PHP 4.2.0
var1 :
var2 : xyz
var3 : 100

Example #2 get_class_vars() and scoping behaviour

<?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'));
?>

Exemplul de mai sus va afiș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

Vedeți de asemenea


Funcții ale claselor/obiectelor
PHP Manual