Skip to content

FiveLab/Reflection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reflection Helper

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');

About

Tools for work with reflection

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages