ReflectionProperty_getDocComment_basic.phpt 1.5 KB

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