ReflectionClass_getDocComment_001.phpt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. --TEST--
  2. ReflectionClass::getDocComment()
  3. --CREDITS--
  4. Robin Fernandes <robinf@php.net>
  5. Steve Seear <stevseea@php.net>
  6. --INI--
  7. opcache.save_comments=1
  8. --FILE--
  9. <?php
  10. /**
  11. My
  12. Doc
  13. * Comment
  14. for A
  15. * */
  16. class A {}
  17. /** My DocComment for B */
  18. class B extends A { }
  19. class C extends B {}
  20. /**
  21. * Interface doc comment
  22. */
  23. interface I {}
  24. /*.*
  25. * Not a doc comment
  26. */
  27. class D implements I {}
  28. /**** Not a doc comment */
  29. class E extends C implements I {} {}
  30. /**?** Not a doc comment */
  31. class F extends C implements I {} {}
  32. /** ** Doc comment for G */
  33. final class G extends C implements I {} {}
  34. $classes = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'I');
  35. foreach ($classes as $class) {
  36. echo "\n\n---> Doc comment for class $class:\n";
  37. $rc = new ReflectionClass($class);
  38. var_dump($rc->getDocComment());
  39. }
  40. ?>
  41. --EXPECTF--
  42. ---> Doc comment for class A:
  43. string(%d) "/**
  44. My
  45. Doc
  46. * Comment
  47. for A
  48. * */"
  49. ---> Doc comment for class B:
  50. string(26) "/** My DocComment for B */"
  51. ---> Doc comment for class C:
  52. bool(false)
  53. ---> Doc comment for class D:
  54. bool(false)
  55. ---> Doc comment for class E:
  56. bool(false)
  57. ---> Doc comment for class F:
  58. bool(false)
  59. ---> Doc comment for class G:
  60. string(27) "/** ** Doc comment for G */"
  61. ---> Doc comment for class I:
  62. string(%d) "/**
  63. * Interface doc comment
  64. */"