traits004.phpt 804 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. ?>
  18. --EXPECT--
  19. class C1:
  20. array(0) {
  21. }
  22. array(0) {
  23. }
  24. class C2:
  25. array(1) {
  26. [0]=>
  27. string(2) "T1"
  28. }
  29. array(1) {
  30. ["T1"]=>
  31. object(ReflectionClass)#1 (1) {
  32. ["name"]=>
  33. string(2) "T1"
  34. }
  35. }
  36. class C3:
  37. array(2) {
  38. [0]=>
  39. string(2) "T1"
  40. [1]=>
  41. string(2) "T2"
  42. }
  43. array(2) {
  44. ["T1"]=>
  45. object(ReflectionClass)#2 (1) {
  46. ["name"]=>
  47. string(2) "T1"
  48. }
  49. ["T2"]=>
  50. object(ReflectionClass)#3 (1) {
  51. ["name"]=>
  52. string(2) "T2"
  53. }
  54. }