bug63399.phpt 829 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. --TEST--
  2. Bug #63399 (ReflectionClass::getTraitAliases() incorrectly resolves traitnames)
  3. --FILE--
  4. <?php
  5. trait Trait1 {
  6. public function run() {}
  7. public function say() {}
  8. }
  9. trait Trait2 {
  10. public function run() {}
  11. public function say() {}
  12. }
  13. class MyClass
  14. {
  15. use Trait1, Trait2 {
  16. Trait1::run as execute;
  17. Trait1::say insteadof Trait2;
  18. Trait2::run insteadof Trait1;
  19. Trait2::say as talk;
  20. }
  21. }
  22. $ref = new ReflectionClass('MyClass');
  23. print_r($ref->getTraitAliases());
  24. print_r($ref->getTraits());
  25. ?>
  26. --EXPECT--
  27. Array
  28. (
  29. [execute] => Trait1::run
  30. [talk] => Trait2::say
  31. )
  32. Array
  33. (
  34. [Trait1] => ReflectionClass Object
  35. (
  36. [name] => Trait1
  37. )
  38. [Trait2] => ReflectionClass Object
  39. (
  40. [name] => Trait2
  41. )
  42. )