123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- --TEST--
- Test usage of ReflectionProperty methods isDefault(), getModifiers(), getDeclaringClass() and getDocComment().
- --INI--
- opcache.save_comments=1
- --FILE--
- <?php
- function reflectProperty($class, $property) {
- $propInfo = new ReflectionProperty($class, $property);
- echo "**********************************\n";
- echo "Reflecting on property $class::$property\n\n";
- echo "isDefault():\n";
- var_dump($propInfo->isDefault());
- echo "getModifiers():\n";
- var_dump($propInfo->getModifiers());
- echo "getDeclaringClass():\n";
- var_dump($propInfo->getDeclaringClass());
- echo "getDocComment():\n";
- var_dump($propInfo->getDocComment());
- echo "\n**********************************\n";
- }
- class TestClass {
- public $pub;
- static public $stat = "static property";
- /**
- * This property has a comment.
- */
- protected $prot = 4;
- private $priv = "keepOut";
- }
- reflectProperty("TestClass", "pub");
- reflectProperty("TestClass", "stat");
- reflectProperty("TestClass", "prot");
- reflectProperty("TestClass", "priv");
- ?>
- --EXPECTF--
- **********************************
- Reflecting on property TestClass::pub
- isDefault():
- bool(true)
- getModifiers():
- int(1)
- getDeclaringClass():
- object(ReflectionClass)#%d (1) {
- ["name"]=>
- string(9) "TestClass"
- }
- getDocComment():
- bool(false)
- **********************************
- **********************************
- Reflecting on property TestClass::stat
- isDefault():
- bool(true)
- getModifiers():
- int(17)
- getDeclaringClass():
- object(ReflectionClass)#%d (1) {
- ["name"]=>
- string(9) "TestClass"
- }
- getDocComment():
- bool(false)
- **********************************
- **********************************
- Reflecting on property TestClass::prot
- isDefault():
- bool(true)
- getModifiers():
- int(2)
- getDeclaringClass():
- object(ReflectionClass)#%d (1) {
- ["name"]=>
- string(9) "TestClass"
- }
- getDocComment():
- string(%d) "/**
- * This property has a comment.
- */"
- **********************************
- **********************************
- Reflecting on property TestClass::priv
- isDefault():
- bool(true)
- getModifiers():
- int(4)
- getDeclaringClass():
- object(ReflectionClass)#%d (1) {
- ["name"]=>
- string(9) "TestClass"
- }
- getDocComment():
- bool(false)
- **********************************
|