Query: get_class_vars
OS: php
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
GET_CLASS_VARS(3) 1 GET_CLASS_VARS(3) get_class_vars - Get the default properties of the classSYNOPSISarray get_class_vars (string $class_name)DESCRIPTIONGet the default properties of the given class.PARAMETERSo $class_name - The class nameRETURN VALUESReturns 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.CHANGELOG+--------+---------------------------------------------------+ |Version | | | | | | | Description | | | | +--------+---------------------------------------------------+ | 5.0.3 | | | | | | | get_class_vars(3) will only return the properties | | | that can be accessed from the current scope. | | | | | 5.0.2 | | | | | | | Calling get_class_vars(3) will now expose all | | | the properties as an array, unlike previous be- | | | haviour where protected and private properties | | | were prefixed with nul bytes. | | | | | 5.0.1 | | | | | | | Calling get_class_vars(3) will expose all prop- | | | erties, as when converting an object to a class. | | | | +--------+---------------------------------------------------+EXAMPLESExample #1 get_class_vars(3) example <?php class myclass { var $var1; // this has no default value... var $var2 = "xyz"; var $var3 = 100; private $var4; // 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 "; } ?> The above example will output: var1 : var2 : xyz var3 : 100 Example #2 get_class_vars(3) and scoping behaviour <?php function format($array) { return implode('|', array_keys($array)) . " "; } 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')); ?> The above example will output: // 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 aSEE ALSOget_class_methods(3), get_object_vars(3). PHP Documentation Group GET_CLASS_VARS(3)