ReflectionClass_getDocComment_001.phpt 1.3 KB

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