ReflectionClass_getModifierNames_basic.phpt 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. --TEST--
  2. ReflectionClass::getModifierNames() basic tests
  3. --CREDITS--
  4. Felix De Vliegher <felix.devliegher@gmail.com>
  5. --FILE--
  6. <?php
  7. class a {}
  8. abstract class b {}
  9. final class c {}
  10. class x
  11. {
  12. function __construct() {}
  13. function __destruct() {}
  14. private function a() {}
  15. private static function b() {}
  16. protected function c() {}
  17. protected static function d() {}
  18. public function e() {}
  19. public static function f() {}
  20. final function g() {}
  21. function h() {}
  22. }
  23. abstract class y
  24. {
  25. abstract function a();
  26. abstract protected function b();
  27. }
  28. function dump_modifierNames($class) {
  29. $obj = new ReflectionClass($class);
  30. var_dump($obj->getName(), Reflection::getModifierNames($obj->getModifiers()));
  31. }
  32. function dump_methodModifierNames($class) {
  33. $obj = new ReflectionClass($class);
  34. foreach($obj->getMethods() as $method) {
  35. var_dump($obj->getName() . "::" . $method->getName(), Reflection::getModifierNames($method->getModifiers()));
  36. }
  37. }
  38. dump_modifierNames('a');
  39. dump_modifierNames('b');
  40. dump_modifierNames('c');
  41. dump_methodModifierNames('x');
  42. dump_methodModifierNames('y');
  43. ?>
  44. --EXPECT--
  45. string(1) "a"
  46. array(0) {
  47. }
  48. string(1) "b"
  49. array(1) {
  50. [0]=>
  51. string(8) "abstract"
  52. }
  53. string(1) "c"
  54. array(1) {
  55. [0]=>
  56. string(5) "final"
  57. }
  58. string(14) "x::__construct"
  59. array(1) {
  60. [0]=>
  61. string(6) "public"
  62. }
  63. string(13) "x::__destruct"
  64. array(1) {
  65. [0]=>
  66. string(6) "public"
  67. }
  68. string(4) "x::a"
  69. array(1) {
  70. [0]=>
  71. string(7) "private"
  72. }
  73. string(4) "x::b"
  74. array(2) {
  75. [0]=>
  76. string(7) "private"
  77. [1]=>
  78. string(6) "static"
  79. }
  80. string(4) "x::c"
  81. array(1) {
  82. [0]=>
  83. string(9) "protected"
  84. }
  85. string(4) "x::d"
  86. array(2) {
  87. [0]=>
  88. string(9) "protected"
  89. [1]=>
  90. string(6) "static"
  91. }
  92. string(4) "x::e"
  93. array(1) {
  94. [0]=>
  95. string(6) "public"
  96. }
  97. string(4) "x::f"
  98. array(2) {
  99. [0]=>
  100. string(6) "public"
  101. [1]=>
  102. string(6) "static"
  103. }
  104. string(4) "x::g"
  105. array(2) {
  106. [0]=>
  107. string(5) "final"
  108. [1]=>
  109. string(6) "public"
  110. }
  111. string(4) "x::h"
  112. array(1) {
  113. [0]=>
  114. string(6) "public"
  115. }
  116. string(4) "y::a"
  117. array(2) {
  118. [0]=>
  119. string(8) "abstract"
  120. [1]=>
  121. string(6) "public"
  122. }
  123. string(4) "y::b"
  124. array(2) {
  125. [0]=>
  126. string(8) "abstract"
  127. [1]=>
  128. string(9) "protected"
  129. }