bug66719.phpt 677 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --TEST--
  2. Bug #66719: Weird behaviour when using get_called_class() with call_user_func()
  3. --FILE--
  4. <?php
  5. class A
  6. {
  7. public static function who()
  8. {
  9. var_dump(get_called_class());
  10. }
  11. }
  12. class B extends A
  13. {
  14. public static function who()
  15. {
  16. parent::who();
  17. }
  18. }
  19. class C
  20. {
  21. public static function test() {
  22. B::who();
  23. call_user_func(array(A::class, 'who'));
  24. call_user_func(array(B::class, 'parent::who'));
  25. }
  26. }
  27. B::who();
  28. call_user_func(array(A::class, 'who'));
  29. call_user_func(array(B::class, 'parent::who'));
  30. C::test();
  31. ?>
  32. --EXPECT--
  33. string(1) "B"
  34. string(1) "A"
  35. string(1) "A"
  36. string(1) "B"
  37. string(1) "A"
  38. string(1) "A"