该软件包已被废弃,不再维护。未建议替代软件包。

处理反射的工具

v1.0.1 2015-09-29 15:07 UTC

This package is not auto-updated.

Last update: 2021-05-28 07:38:28 UTC


README

该软件包为与PHP 反射工作添加了辅助方法

安装

在您的 composer.json 中添加 FiveLab/Reflection

{
    "require": {
        "fivelab/reflection": "~1.0"
    }
}

现在运行以下命令告诉 composer 下载库

$ php composer.phar update fivelab/reflection

基本用法

FiveLab\Component\Reflection\Reflection 类是最终的,不能用作对象。该类中的所有方法都是静态的。

此软件包的使用示例

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