fivelab / reflection
Tools for work with reflection
Installs: 9 235
Dependents: 5
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 1
Requires
- php: >=5.4
Requires (Dev)
- doctrine/annotations: 1.*
- phpunit/phpunit: 4.*
Suggests
- doctrine/annotations: For read annotations from classes
This package is not auto-updated.
Last update: 2021-05-28 07:38:28 UTC
README
This package add helper methods for work with PHP Reflection
Installation
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
Basic usage
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');