--TEST-- Test ReflectionProperty::getValue() errors. --FILE-- getValue($instance, true)); } catch (TypeError $e) { echo $e->getMessage(), "\n"; } echo "\nProtected property:\n"; try { $propInfo = new ReflectionProperty('TestClass', 'prot'); var_dump($propInfo->getValue($instance)); } catch(Exception $exc) { echo $exc->getMessage(); } echo "\n\nInvalid instance:\n"; $propInfo = new ReflectionProperty('TestClass', 'pub2'); try { var_dump($propInfo->getValue($invalidInstance)); } catch (ReflectionException $e) { echo $e->getMessage(); } echo "\n\nMissing instance:\n"; try { var_dump($propInfo->getValue()); } catch (TypeError $e) { echo $e->getMessage(); } ?> --EXPECT-- Instance without property: Static property / too many args: ReflectionProperty::getValue() expects at most 1 argument, 2 given Protected property: Cannot access non-public property TestClass::$prot Invalid instance: Given object is not an instance of the class this property was declared in Missing instance: ReflectionProperty::getValue(): Argument #1 ($object) must be provided for instance properties