D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
3023066
/
cwd
/
www
/
vendor
/
kingflamez
/
laravelrave
/
tests
/
Concerns
/
Filename :
ExtractProperties.php
back
Copy
<?php namespace Tests\Concerns; use ReflectionClass; use ReflectionProperty; trait ExtractProperties { /** * Extract "a" property from a class. * * @param \stdClass $class * @param string $name Property name. * @return array Extracted name and value of property. * @throws \ReflectionException */ function extractProperty($class, $name) { $reflector = new ReflectionClass($class); $property = $reflector->getProperty($name); $property->setAccessible(true); return [ "name" => $property->getName(), "value" => $property->getValue($class), ]; } /** * Set property of class. * * @param \stdClass $class * @param string $name Property name * @param mixed $value * @throws \ReflectionException */ function setProperty($class, $name, $value = null) { $reflector = new ReflectionClass($class); $property = $reflector->getProperty($name); $property->setAccessible(true); $property->setValue($class, $value); } }