get_class_vars
get_class_vars
(PHP 4, PHP 5, PHP 7)
get_class_vars — Get the default properties of the class
Description
array get_class_vars ( string $class_name )
Get the default properties of the given class.
Parameters
-
class_name
-
The class name
Return Values
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
.
Changelog
Version | Description |
---|---|
5.0.3 | 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. |
Examples
Example #1 get_class_vars() example
<?php class myclass { var $var1; // this has no default value... var $var2 = "xyz"; var $var3 = 100; private $var4; // constructor function __construct() { // 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"; } ?>
The above example will output:
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')); ?>
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 a
See Also
- get_class_methods() - Gets the class methods' names
- get_object_vars() - Gets the properties of the given object
© 1997–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://secure.php.net/manual/en/function.get-class-vars.php