FOSSology  4.4.0
Open Source License Compliance by Open Source Software
Reflectory.php
1 <?php
2 /*
3  SPDX-FileCopyrightText: © 2015 Siemens AG
4  Author: Steffen Weber
5  SPDX-License-Identifier: GPL-2.0-only
6 */
7 
8 namespace Fossology\Lib\Test;
9 
10 use ReflectionClass;
11 use ReflectionMethod;
12 use ReflectionProperty;
13 
14 // setup autoloading
15 require_once(dirname(dirname(dirname(__DIR__))) . "/vendor/autoload.php");
16 
17 
19 {
20  public static function invokeObjectsMethodnameWith($object, $fun, array $args=array())
21  {
22  $reflection = new ReflectionClass($object);
24  $method = $reflection->getMethod($fun);
25  $method->setAccessible(true);
26  return $method->invokeArgs($object,$args);
27  }
28 
29  public static function getObjectsProperty($object, $prop)
30  {
31  $reflection = new ReflectionClass($object);
33  $property = $reflection->getProperty($prop);
34  $property->setAccessible(true);
35  return $property->getValue($object);
36  }
37 
38  public static function setObjectsProperty($object, $prop, $value)
39  {
40  $reflection = new ReflectionClass($object);
42  $property = $reflection->getProperty($prop);
43  $property->setAccessible(true);
44  $property->setValue($object, $value);
45  }
46 }
int Test
Definition: util.c:20