Annotation of embedaddon/php/ext/reflection/tests/ReflectionMethod_basic2.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: ReflectionMethod class __toString() and export() methods
! 3: --FILE--
! 4: <?php
! 5:
! 6: function reflectMethod($class, $method) {
! 7: $methodInfo = new ReflectionMethod($class, $method);
! 8: echo "**********************************\n";
! 9: echo "Reflecting on method $class::$method()\n\n";
! 10: echo "__toString():\n";
! 11: var_dump($methodInfo->__toString());
! 12: echo "\nexport():\n";
! 13: var_dump(ReflectionMethod::export($class, $method, true));
! 14: echo "\n**********************************\n";
! 15: }
! 16:
! 17: class TestClass
! 18: {
! 19: public function foo() {
! 20: echo "Called foo()\n";
! 21: }
! 22:
! 23: static function stat() {
! 24: echo "Called stat()\n";
! 25: }
! 26:
! 27: private function priv() {
! 28: echo "Called priv()\n";
! 29: }
! 30:
! 31: protected function prot() {}
! 32:
! 33: public function __destruct() {}
! 34: }
! 35:
! 36: class DerivedClass extends TestClass {}
! 37:
! 38: interface TestInterface {
! 39: public function int();
! 40: }
! 41:
! 42: reflectMethod("DerivedClass", "foo");
! 43: reflectMethod("TestClass", "stat");
! 44: reflectMethod("TestClass", "priv");
! 45: reflectMethod("TestClass", "prot");
! 46: reflectMethod("DerivedClass", "prot");
! 47: reflectMethod("TestInterface", "int");
! 48: reflectMethod("ReflectionProperty", "__construct");
! 49: reflectMethod("TestClass", "__destruct");
! 50:
! 51: ?>
! 52: --EXPECTF--
! 53: **********************************
! 54: Reflecting on method DerivedClass::foo()
! 55:
! 56: __toString():
! 57: string(%d) "Method [ <user, inherits TestClass> public method foo ] {
! 58: @@ %s 16 - 18
! 59: }
! 60: "
! 61:
! 62: export():
! 63: string(%d) "Method [ <user, inherits TestClass> public method foo ] {
! 64: @@ %s 16 - 18
! 65: }
! 66: "
! 67:
! 68: **********************************
! 69: **********************************
! 70: Reflecting on method TestClass::stat()
! 71:
! 72: __toString():
! 73: string(%d) "Method [ <user> static public method stat ] {
! 74: @@ %s 20 - 22
! 75: }
! 76: "
! 77:
! 78: export():
! 79: string(%d) "Method [ <user> static public method stat ] {
! 80: @@ %s 20 - 22
! 81: }
! 82: "
! 83:
! 84: **********************************
! 85: **********************************
! 86: Reflecting on method TestClass::priv()
! 87:
! 88: __toString():
! 89: string(%d) "Method [ <user> private method priv ] {
! 90: @@ %s 24 - 26
! 91: }
! 92: "
! 93:
! 94: export():
! 95: string(%d) "Method [ <user> private method priv ] {
! 96: @@ %s 24 - 26
! 97: }
! 98: "
! 99:
! 100: **********************************
! 101: **********************************
! 102: Reflecting on method TestClass::prot()
! 103:
! 104: __toString():
! 105: string(%d) "Method [ <user> protected method prot ] {
! 106: @@ %s 28 - 28
! 107: }
! 108: "
! 109:
! 110: export():
! 111: string(%d) "Method [ <user> protected method prot ] {
! 112: @@ %s 28 - 28
! 113: }
! 114: "
! 115:
! 116: **********************************
! 117: **********************************
! 118: Reflecting on method DerivedClass::prot()
! 119:
! 120: __toString():
! 121: string(%d) "Method [ <user, inherits TestClass> protected method prot ] {
! 122: @@ %s 28 - 28
! 123: }
! 124: "
! 125:
! 126: export():
! 127: string(%d) "Method [ <user, inherits TestClass> protected method prot ] {
! 128: @@ %s 28 - 28
! 129: }
! 130: "
! 131:
! 132: **********************************
! 133: **********************************
! 134: Reflecting on method TestInterface::int()
! 135:
! 136: __toString():
! 137: string(%d) "Method [ <user> abstract public method int ] {
! 138: @@ %s 36 - 36
! 139: }
! 140: "
! 141:
! 142: export():
! 143: string(%d) "Method [ <user> abstract public method int ] {
! 144: @@ %s 36 - 36
! 145: }
! 146: "
! 147:
! 148: **********************************
! 149: **********************************
! 150: Reflecting on method ReflectionProperty::__construct()
! 151:
! 152: __toString():
! 153: string(%d) "Method [ <internal:Reflection, ctor> public method __construct ] {
! 154:
! 155: - Parameters [2] {
! 156: Parameter #0 [ <required> $class ]
! 157: Parameter #1 [ <required> $name ]
! 158: }
! 159: }
! 160: "
! 161:
! 162: export():
! 163: string(%d) "Method [ <internal:Reflection, ctor> public method __construct ] {
! 164:
! 165: - Parameters [2] {
! 166: Parameter #0 [ <required> $class ]
! 167: Parameter #1 [ <required> $name ]
! 168: }
! 169: }
! 170: "
! 171:
! 172: **********************************
! 173: **********************************
! 174: Reflecting on method TestClass::__destruct()
! 175:
! 176: __toString():
! 177: string(%d) "Method [ <user, dtor> public method __destruct ] {
! 178: @@ %s 30 - 30
! 179: }
! 180: "
! 181:
! 182: export():
! 183: string(%d) "Method [ <user, dtor> public method __destruct ] {
! 184: @@ %s 30 - 30
! 185: }
! 186: "
! 187:
! 188: **********************************
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>