traits004.phpt 801 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. --TEST--
  2. ReflectionClass::getTraits() and ReflectionClass::getTraitNames
  3. --FILE--
  4. <?php
  5. trait T1 { }
  6. trait T2 { }
  7. class C1 { }
  8. class C2 { use T1; }
  9. class C3 { use T1; use T2; }
  10. for ($c = "C1"; $c <= "C3"; $c++) {
  11. echo "class $c:\n";
  12. $r = new ReflectionClass($c);
  13. var_dump($r->getTraitNames());
  14. var_dump($r->getTraits());
  15. echo "\n";
  16. }
  17. --EXPECT--
  18. class C1:
  19. array(0) {
  20. }
  21. array(0) {
  22. }
  23. class C2:
  24. array(1) {
  25. [0]=>
  26. string(2) "T1"
  27. }
  28. array(1) {
  29. ["T1"]=>
  30. object(ReflectionClass)#1 (1) {
  31. ["name"]=>
  32. string(2) "T1"
  33. }
  34. }
  35. class C3:
  36. array(2) {
  37. [0]=>
  38. string(2) "T1"
  39. [1]=>
  40. string(2) "T2"
  41. }
  42. array(2) {
  43. ["T1"]=>
  44. object(ReflectionClass)#2 (1) {
  45. ["name"]=>
  46. string(2) "T1"
  47. }
  48. ["T2"]=>
  49. object(ReflectionClass)#3 (1) {
  50. ["name"]=>
  51. string(2) "T2"
  52. }
  53. }