bug77325.phpt 632 B

1234567891011121314151617181920212223242526272829
  1. --TEST--
  2. Bug #77325: ReflectionClassConstant::$class returns wrong class when extending
  3. --FILE--
  4. <?php
  5. class Foo {
  6. const FOO = 'foo';
  7. }
  8. class Bar extends Foo {
  9. }
  10. $barClassReflection = new ReflectionClass(Bar::class);
  11. $constants = $barClassReflection->getReflectionConstants();
  12. foreach ($constants as $constant) {
  13. var_dump($constant->class);
  14. var_dump($constant->getDeclaringClass()->getName());
  15. }
  16. $constant = new ReflectionClassConstant(Bar::class, 'FOO');
  17. var_dump($constant->class);
  18. var_dump($constant->getDeclaringClass()->getName());
  19. ?>
  20. --EXPECT--
  21. string(3) "Foo"
  22. string(3) "Foo"
  23. string(3) "Foo"
  24. string(3) "Foo"