123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- --TEST--
- ReflectionClass::getDefaultProperties(), ReflectionClass::getStaticProperties()
- --CREDITS--
- Robin Fernandes <robinf@php.net>
- Steve Seear <stevseea@php.net>
- --FILE--
- <?php
- class A {
- static public $statPubC = "stat pubC in A";
- static protected $statProtC = "stat protC in A";
- static private $statPrivC = "stat privC in A";
- static public $statPubA = "stat pubA in A";
- static protected $statProtA = "stat protA in A";
- static private $statPrivA = "stat privA in A";
- public $pubC = "pubC in A";
- protected $protC = "protC in A";
- private $privC = "privC in A";
- public $pubA = "pubA in A";
- protected $protA = "protA in A";
- private $privA = "privA in A";
- }
- class B extends A {
- static public $statPubC = "stat pubC in B";
- static protected $statProtC = "stat protC in B";
- static private $statPrivC = "stat privC in B";
- static public $statPubB = "stat pubB in B";
- static protected $statProtB = "stat protB in B";
- static private $statPrivB = "stat privB in B";
- public $pubC = "pubC in B";
- protected $protC = "protC in B";
- private $privC = "privC in B";
- public $pubB = "pubB in B";
- protected $protB = "protB in B";
- private $privB = "privB in B";
- }
- class C extends B {
- static public $statPubC = "stat pubC in C";
- static protected $statProtC = "stat protC in C";
- static private $statPrivC = "stat privC in C";
- public $pubC = "pubC in C";
- protected $protC = "protC in C";
- private $privC = "privC in C";
- }
- class X {
- static public $statPubC = "stat pubC in X";
- static protected $statProtC = "stat protC in X";
- static private $statPrivC = "stat privC in X";
- public $pubC = "pubC in X";
- protected $protC = "protC in X";
- private $privC = "privC in X";
- }
- $classes = array('A', 'B', 'C', 'X');
- foreach ($classes as $class) {
- $rc = new ReflectionClass($class);
- echo "\n\n---- Static properties in $class ----\n";
- print_r($rc->getStaticProperties());
- echo "\n\n---- Default properties in $class ----\n";
- print_r($rc->getDefaultProperties());
- }
- ?>
- --EXPECT--
- ---- Static properties in A ----
- Array
- (
- [statPubC] => stat pubC in A
- [statProtC] => stat protC in A
- [statPrivC] => stat privC in A
- [statPubA] => stat pubA in A
- [statProtA] => stat protA in A
- [statPrivA] => stat privA in A
- )
- ---- Default properties in A ----
- Array
- (
- [statPubC] => stat pubC in A
- [statProtC] => stat protC in A
- [statPrivC] => stat privC in A
- [statPubA] => stat pubA in A
- [statProtA] => stat protA in A
- [statPrivA] => stat privA in A
- [pubC] => pubC in A
- [protC] => protC in A
- [privC] => privC in A
- [pubA] => pubA in A
- [protA] => protA in A
- [privA] => privA in A
- )
- ---- Static properties in B ----
- Array
- (
- [statPubC] => stat pubC in B
- [statProtC] => stat protC in B
- [statPrivC] => stat privC in B
- [statPubB] => stat pubB in B
- [statProtB] => stat protB in B
- [statPrivB] => stat privB in B
- [statPubA] => stat pubA in A
- [statProtA] => stat protA in A
- )
- ---- Default properties in B ----
- Array
- (
- [statPubC] => stat pubC in B
- [statProtC] => stat protC in B
- [statPrivC] => stat privC in B
- [statPubB] => stat pubB in B
- [statProtB] => stat protB in B
- [statPrivB] => stat privB in B
- [statPubA] => stat pubA in A
- [statProtA] => stat protA in A
- [pubC] => pubC in B
- [protC] => protC in B
- [privC] => privC in B
- [pubB] => pubB in B
- [protB] => protB in B
- [privB] => privB in B
- [pubA] => pubA in A
- [protA] => protA in A
- )
- ---- Static properties in C ----
- Array
- (
- [statPubC] => stat pubC in C
- [statProtC] => stat protC in C
- [statPrivC] => stat privC in C
- [statPubB] => stat pubB in B
- [statProtB] => stat protB in B
- [statPubA] => stat pubA in A
- [statProtA] => stat protA in A
- )
- ---- Default properties in C ----
- Array
- (
- [statPubC] => stat pubC in C
- [statProtC] => stat protC in C
- [statPrivC] => stat privC in C
- [statPubB] => stat pubB in B
- [statProtB] => stat protB in B
- [statPubA] => stat pubA in A
- [statProtA] => stat protA in A
- [pubC] => pubC in C
- [protC] => protC in C
- [privC] => privC in C
- [pubB] => pubB in B
- [protB] => protB in B
- [pubA] => pubA in A
- [protA] => protA in A
- )
- ---- Static properties in X ----
- Array
- (
- [statPubC] => stat pubC in X
- [statProtC] => stat protC in X
- [statPrivC] => stat privC in X
- )
- ---- Default properties in X ----
- Array
- (
- [statPubC] => stat pubC in X
- [statProtC] => stat protC in X
- [statPrivC] => stat privC in X
- [pubC] => pubC in X
- [protC] => protC in X
- [privC] => privC in X
- )
|