ReflectionProperty_getDocComment_basic.phpt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. --TEST--
  2. Test ReflectionProperty::getDocComment() usage.
  3. --INI--
  4. opcache.save_comments=1
  5. --FILE--
  6. <?php
  7. class A {
  8. /**
  9. * My Doc Comment for $a
  10. *
  11. */
  12. public $a = 2, $b, $c = 1;
  13. /**
  14. * My Doc Comment for $d
  15. */
  16. var $d;
  17. /**Not a doc comment */
  18. private $e;
  19. /**
  20. * Doc comment for $f
  21. */
  22. static protected $f;
  23. }
  24. class B extends A {
  25. public $a = 2;
  26. /** A doc comment for $b */
  27. var $b, $c = 1;
  28. /** A doc comment for $e */
  29. var $e;
  30. }
  31. foreach(array('A', 'B') as $class) {
  32. $rc = new ReflectionClass($class);
  33. $rps = $rc->getProperties();
  34. foreach($rps as $rp) {
  35. echo "\n\n---> Doc comment for $class::$" . $rp->getName() . ":\n";
  36. var_dump($rp->getDocComment());
  37. }
  38. }
  39. ?>
  40. --EXPECTF--
  41. ---> Doc comment for A::$a:
  42. string(%d) "/**
  43. * My Doc Comment for $a
  44. *
  45. */"
  46. ---> Doc comment for A::$b:
  47. bool(false)
  48. ---> Doc comment for A::$c:
  49. bool(false)
  50. ---> Doc comment for A::$d:
  51. string(%d) "/**
  52. * My Doc Comment for $d
  53. */"
  54. ---> Doc comment for A::$e:
  55. bool(false)
  56. ---> Doc comment for A::$f:
  57. string(%d) "/**
  58. * Doc comment for $f
  59. */"
  60. ---> Doc comment for B::$a:
  61. bool(false)
  62. ---> Doc comment for B::$b:
  63. string(%d) "/** A doc comment for $b */"
  64. ---> Doc comment for B::$c:
  65. bool(false)
  66. ---> Doc comment for B::$e:
  67. string(%d) "/** A doc comment for $e */"
  68. ---> Doc comment for B::$d:
  69. string(%d) "/**
  70. * My Doc Comment for $d
  71. */"
  72. ---> Doc comment for B::$f:
  73. string(%d) "/**
  74. * Doc comment for $f
  75. */"