Annotation of embedaddon/php/ext/reflection/tests/ReflectionProperty_basic1.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test usage of ReflectionProperty methods __toString(), export(), getName(), isPublic(), isPrivate(), isProtected(), isStatic(), getValue() and setValue().
! 3: --FILE--
! 4: <?php
! 5:
! 6: function reflectProperty($class, $property) {
! 7: $propInfo = new ReflectionProperty($class, $property);
! 8: echo "**********************************\n";
! 9: echo "Reflecting on property $class::$property\n\n";
! 10: echo "__toString():\n";
! 11: var_dump($propInfo->__toString());
! 12: echo "export():\n";
! 13: var_dump(ReflectionProperty::export($class, $property, true));
! 14: echo "export():\n";
! 15: var_dump(ReflectionProperty::export($class, $property, false));
! 16: echo "getName():\n";
! 17: var_dump($propInfo->getName());
! 18: echo "isPublic():\n";
! 19: var_dump($propInfo->isPublic());
! 20: echo "isPrivate():\n";
! 21: var_dump($propInfo->isPrivate());
! 22: echo "isProtected():\n";
! 23: var_dump($propInfo->isProtected());
! 24: echo "isStatic():\n";
! 25: var_dump($propInfo->isStatic());
! 26: $instance = new $class();
! 27: if ($propInfo->isPublic()) {
! 28: echo "getValue():\n";
! 29: var_dump($propInfo->getValue($instance));
! 30: $propInfo->setValue($instance, "NewValue");
! 31: echo "getValue() after a setValue():\n";
! 32: var_dump($propInfo->getValue($instance));
! 33: }
! 34: echo "\n**********************************\n";
! 35: }
! 36:
! 37: class TestClass {
! 38: public $pub;
! 39: static public $stat = "static property";
! 40: protected $prot = 4;
! 41: private $priv = "keepOut";
! 42: }
! 43:
! 44: reflectProperty("TestClass", "pub");
! 45: reflectProperty("TestClass", "stat");
! 46: reflectProperty("TestClass", "prot");
! 47: reflectProperty("TestClass", "priv");
! 48:
! 49: ?>
! 50: --EXPECT--
! 51: **********************************
! 52: Reflecting on property TestClass::pub
! 53:
! 54: __toString():
! 55: string(35) "Property [ <default> public $pub ]
! 56: "
! 57: export():
! 58: string(35) "Property [ <default> public $pub ]
! 59: "
! 60: export():
! 61: Property [ <default> public $pub ]
! 62:
! 63: NULL
! 64: getName():
! 65: string(3) "pub"
! 66: isPublic():
! 67: bool(true)
! 68: isPrivate():
! 69: bool(false)
! 70: isProtected():
! 71: bool(false)
! 72: isStatic():
! 73: bool(false)
! 74: getValue():
! 75: NULL
! 76: getValue() after a setValue():
! 77: string(8) "NewValue"
! 78:
! 79: **********************************
! 80: **********************************
! 81: Reflecting on property TestClass::stat
! 82:
! 83: __toString():
! 84: string(33) "Property [ public static $stat ]
! 85: "
! 86: export():
! 87: string(33) "Property [ public static $stat ]
! 88: "
! 89: export():
! 90: Property [ public static $stat ]
! 91:
! 92: NULL
! 93: getName():
! 94: string(4) "stat"
! 95: isPublic():
! 96: bool(true)
! 97: isPrivate():
! 98: bool(false)
! 99: isProtected():
! 100: bool(false)
! 101: isStatic():
! 102: bool(true)
! 103: getValue():
! 104: string(15) "static property"
! 105: getValue() after a setValue():
! 106: string(8) "NewValue"
! 107:
! 108: **********************************
! 109: **********************************
! 110: Reflecting on property TestClass::prot
! 111:
! 112: __toString():
! 113: string(39) "Property [ <default> protected $prot ]
! 114: "
! 115: export():
! 116: string(39) "Property [ <default> protected $prot ]
! 117: "
! 118: export():
! 119: Property [ <default> protected $prot ]
! 120:
! 121: NULL
! 122: getName():
! 123: string(4) "prot"
! 124: isPublic():
! 125: bool(false)
! 126: isPrivate():
! 127: bool(false)
! 128: isProtected():
! 129: bool(true)
! 130: isStatic():
! 131: bool(false)
! 132:
! 133: **********************************
! 134: **********************************
! 135: Reflecting on property TestClass::priv
! 136:
! 137: __toString():
! 138: string(37) "Property [ <default> private $priv ]
! 139: "
! 140: export():
! 141: string(37) "Property [ <default> private $priv ]
! 142: "
! 143: export():
! 144: Property [ <default> private $priv ]
! 145:
! 146: NULL
! 147: getName():
! 148: string(4) "priv"
! 149: isPublic():
! 150: bool(false)
! 151: isPrivate():
! 152: bool(true)
! 153: isProtected():
! 154: bool(false)
! 155: isStatic():
! 156: bool(false)
! 157:
! 158: **********************************
! 159:
! 160:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>