kassko / util-member-accessor
此包最新版本(dev-master)无可用许可证信息。
访问非公共属性和方法
dev-master
2017-02-05 22:57 UTC
Requires
- php: >=5.5.0
This package is not auto-updated.
Last update: 2024-09-14 19:58:49 UTC
README
此库允许从测试描述生成测试代码。
安装
您可以使用composer安装此库。
composer require 'kassko/util-member-accessor:master'
使用方法
给定
class SomeClass { private $somePrivateProperty = 'some private property'; private function somePrivateMethod() { return 'some private method'; } private function somePrivateMethodWithParam($paramA, $paramB) { return 'some private method with param \"$paramA\" and \"$paramB\"'; } private function somePrivateProcedureMethod($paramA, &$paramB) { $paramB = 'baz'; } }
访问SomeClass成员
use Kassko\Util\MemberAccessor\ObjectMemberAccessor; $someObject = new SomeClass; $accessor = new ObjectMemberAccessor; $fooPropertyValue = $accessor->getPropertyValue($someObject, 'somePrivateProperty'); echo $fooPropertyValue;//Display 'some private property'. $accessor->setPropertyValue($someObject, 'somePrivateProperty', 'foo'); //Set the value 'foo' in $somePrivateProperty. $fooMethodValue = $accessor->getMethodValue($someObject, 'somePrivateMethod'); echo $fooMethodValue;//Display 'some private method'. $fooMethodValue = $accessor->getMethodValue($someObject, 'somePrivateMethodWithParam', ['foo', 'bar']); echo $fooMethodValue;//Display 'some private method with param "foo" and "bar"'. $bar = 'bar'; $params = ['foo', &$bar]; $accessor->executeMethod($someObject, 'somePrivateProcedureMethod', [&$params]); echo $params[0];//Display "foo". echo $params[1];//Display "baz".