<?php function no_vars() { var_dump(get_defined_vars()); } echo "\n==== function no_vars: ====\n"; no_vars(); // empty echo "\n==== function has_vars: ====\n"; function has_vars() { $var = 1; var_dump(get_defined_vars()); } has_vars(); // [var] = 1 echo "\n==== function has_args: ====\n"; function has_args($arg = 1) { var_dump(get_defined_vars()); } has_args(); // [arg] => 1 echo "\n==== anon function: ====\n"; $func = function() { var_dump(get_defined_vars()); }; $func(); // empty echo "\n==== anon function with var: ====\n"; $funcVar = function() { $var = 1; var_dump(get_defined_vars()); }; $funcVar(); // empty echo "\n==== anon function with use: ====\n"; $used = 1; $funcUses = function() use($used) { var_dump(get_defined_vars()); }; $funcUses(); // [used] = 1 echo "\n==== blank class: ====\n"; class classBlank { public function __construct() { var_dump(get_defined_vars()); } } $cBlank = new classBlank(); // empty echo "\n==== class with properties: ====\n"; class classProps { public $foo = 1; protected $bar = 2; private $meh = 3; static public $ok = 4; public function __construct() { var_dump(get_defined_vars()); } } $cProps = new classProps(); // empty? echo "\n==== static class with properties: ====\n"; class statClass { static public $stat = 1; static protected $that = 2; public static function testStat() { var_dump(get_defined_vars()); } } statClass::testStat(); echo "\n==== no context: ====\n"; var_dump(get_defined_vars()); // includes funcUses use() variables and classProps properties?
You have javascript disabled. You will not be able to edit any code.