This package add helper methods for work with PHP Reflection
Add FiveLab/Reflection in your composer.json:
{
"require": {
"fivelab/reflection": "~1.0"
}
}
Now tell composer to download the library by running the command:
$ php composer.phar update fivelab/reflection
The class FiveLab\Component\Reflection\Reflection
is final, and can not use as object.
All methods in this class statically.
Examples for work with this package:
use FiveLab\Component\Reflection\Reflection
// Get class reflection
$reflection = Reflection::loadClassReflection('MyClass');
// Get method reflection
$reflection = Reflection::loadMethodReflection('MyClass', 'myMethod');
// Get object reflection
$object = new MyClass();
$reflection = Reflection::loadObjectReflection($object);
// Get all properties from class
$properties = Reflection::getClassProperties('MyClass');
// Get all properties from class with gets from parents classes
$properties = Reflection::getClassProperties('MyClass', true);
// Get only private properties from class
$properties = Reflection::getClassProperties('MyClass', false, \ReflectionProperty::IS_PRIVATE);
// Set value to property in object
$object = new MyClass();
Reflection::setPropertyValue($object, 'myProperty', 'FooBar');
// Get value from property
$object = new MyClass();
$value = Reflection::getPropertyValue($object, 'myProperty');