@@ -10,6 +10,8 @@ class Test {
1010 get { echo "get \n" ; }
1111 set { echo "set( $ value) \n" ; }
1212 }
13+ public $ prop5 { get { echo "get \n" ; } }
14+ public $ prop6 { set { echo "set( $ value) \n" ; } }
1315}
1416abstract class Test2 {
1517 abstract public $ prop4 { get; set; }
@@ -27,13 +29,17 @@ function dumpFlags(ReflectionProperty $rp) {
2729$ test = new Test ;
2830
2931$ rp1 = new ReflectionProperty (Test::class, 'prop1 ' );
32+ var_dump ($ rp1 ->hasHook (PropertyHookType::Get));
3033var_dump ($ rp1 ->getHook (PropertyHookType::Get));
34+ var_dump ($ rp1 ->hasHook (PropertyHookType::Set));
3135var_dump ($ rp1 ->getHook (PropertyHookType::Set));
3236dumpFlags ($ rp1 );
3337echo "\n" ;
3438
3539$ rp2 = new ReflectionProperty (Test::class, 'prop2 ' );
40+ var_dump ($ rp2 ->hasHook (PropertyHookType::Get));
3641var_dump ($ g = $ rp2 ->getHook (PropertyHookType::Get));
42+ var_dump ($ rp2 ->hasHook (PropertyHookType::Set));
3743var_dump ($ s = $ rp2 ->getHook (PropertyHookType::Set));
3844var_dump ($ g ->invoke ($ test ));
3945try {
@@ -48,7 +54,9 @@ dumpFlags($rp2);
4854echo "\n" ;
4955
5056$ rp3 = new ReflectionProperty (Test::class, 'prop3 ' );
57+ var_dump ($ rp3 ->hasHook (PropertyHookType::Get));
5158var_dump ($ g = $ rp3 ->getHook (PropertyHookType::Get));
59+ var_dump ($ rp3 ->hasHook (PropertyHookType::Set));
5260var_dump ($ s = $ rp3 ->getHook (PropertyHookType::Set));
5361$ g ->invoke ($ test );
5462$ s ->invoke ($ test , 42 );
@@ -57,19 +65,34 @@ echo "\n";
5765
5866$ rp4 = new ReflectionProperty (Test2::class, 'prop4 ' );
5967dumpFlags ($ rp4 );
68+ echo "\n" ;
69+
70+ $ rp5 = new ReflectionProperty (Test::class, 'prop5 ' );
71+ var_dump ($ rp5 ->hasHook (PropertyHookType::Get));
72+ var_dump ($ rp5 ->hasHook (PropertyHookType::Set));
73+ echo "\n" ;
74+
75+ $ rp6 = new ReflectionProperty (Test::class, 'prop6 ' );
76+ var_dump ($ rp6 ->hasHook (PropertyHookType::Get));
77+ var_dump ($ rp6 ->hasHook (PropertyHookType::Set));
78+ echo "\n" ;
6079
6180?>
6281--EXPECT--
82+ bool(false)
6383NULL
84+ bool(false)
6485NULL
6586Abstract: false false
6687
88+ bool(true)
6789object(ReflectionMethod)#6 (2) {
6890 ["name"]=>
6991 string(11) "$prop2::get"
7092 ["class"]=>
7193 string(4) "Test"
7294}
95+ bool(true)
7396object(ReflectionMethod)#7 (2) {
7497 ["name"]=>
7598 string(11) "$prop2::set"
@@ -80,12 +103,14 @@ NULL
80103NULL
81104Abstract: false false
82105
106+ bool(true)
83107object(ReflectionMethod)#9 (2) {
84108 ["name"]=>
85109 string(11) "$prop3::get"
86110 ["class"]=>
87111 string(4) "Test"
88112}
113+ bool(true)
89114object(ReflectionMethod)#6 (2) {
90115 ["name"]=>
91116 string(11) "$prop3::set"
@@ -97,3 +122,9 @@ set(42)
97122Abstract: false false
98123
99124Abstract: true true
125+
126+ bool(true)
127+ bool(false)
128+
129+ bool(false)
130+ bool(true)
0 commit comments