traits004.phpt 805 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. --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. }