This repository has been archived on 2026-07-19. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
espocrm-base/tests/ReflectionHelper.php
T
2014-10-20 11:13:16 +03:00

43 lines
987 B
PHP

<?php
namespace tests;
class ReflectionHelper
{
private $object;
private $reflection;
public function __construct($object)
{
$this->object = $object;
$this->reflection = new \ReflectionClass(get_class($this->object));
}
public function invokeMethod($methodName, array $parameters = array())
{
$method = $this->reflection->getMethod($methodName);
$method->setAccessible(true);
return $method->invokeArgs($this->object, $parameters);
}
public function getProperty($name)
{
$property = $this->reflection->getProperty($name);
$property->setAccessible(true);
return $property->getValue($this->object);
}
public function setProperty($name, $value)
{
$property = $this->reflection->getProperty($name);
$property->setAccessible(true);
$property->setValue($this->object, $value);
}
}