bug48336.phpt 637 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. --TEST--
  2. Bug #48286 (ReflectionProperty::getDeclaringClass() does not work with redeclared properties)
  3. --FILE--
  4. <?php
  5. class A {
  6. }
  7. class B extends A {
  8. static protected $prop;
  9. }
  10. class C extends B {
  11. static protected $prop;
  12. }
  13. class D extends C {
  14. }
  15. class E extends D {
  16. }
  17. class F extends E {
  18. static protected $prop;
  19. }
  20. $class = 'A';
  21. for($class = 'A'; $class <= 'F'; $class ++) {
  22. print($class.' => ');
  23. try {
  24. $rp = new ReflectionProperty($class, 'prop');
  25. print($rp->getDeclaringClass()->getName());
  26. } catch(Exception $e) {
  27. print('N/A');
  28. }
  29. print("\n");
  30. }
  31. ?>
  32. --EXPECT--
  33. A => N/A
  34. B => B
  35. C => C
  36. D => C
  37. E => C
  38. F => F