maximo-perez-villalba / class-properties-reader
La clase lee vía reflexión todos las propiedades de una clase incluyendo las propiedades privadas de su jerarquía.
1.1.2
2022-11-28 18:38 UTC
Requires
- php: >=8.1
Requires (Dev)
- phpunit/phpunit: ^9.5
README
La clase lee vía reflexión todos las propiedades de una clase incluyendo las propiedades privadas de su jerarquía. Implementa una extensión del método ReflectionClass::getProperties de la clase ReflectionClass.
Ejemplo de uso
class YourCustomClassRoot { private string $propertyString = 'aValueOfTypeString'; private int $propertyInt = 0; private float $propertyFloat = 0.0; } class YourCustomClassNode extends YourCustomClassRoot { private bool $propertyBool = false; private array $propertyArray = []; } class YourCustomClassLeaf extends YourCustomClassNode { private object ?$propertyObjectOrNull = null; }
Como usar
Invocar el método ClassPropertiesReader::getAll(string $classname), retorna un ReflectionProperty[].
$allProperties = ClassPropertiesReader::getAll(YourCustomClassLeaf::class); print_r($allProperties);
Salida
Array ( [propertyObjectOrNull] => ReflectionProperty Object ( [name] => propertyObjectOrNull [class] => YourCustomClassLeaf ) [propertyArray] => ReflectionProperty Object ( [name] => propertyArray [class] => YourCustomClassNode ) [propertyBool] => ReflectionProperty Object ( [name] => propertyBool [class] => YourCustomClassNode ) [propertyFloat] => ReflectionProperty Object ( [name] => propertyFloat [class] => YourCustomClassRoot ) [propertyInt] => ReflectionProperty Object ( [name] => propertyInt [class] => YourCustomClassRoot ) [propertyString] => ReflectionProperty Object ( [name] => propertyString [class] => YourCustomClassRoot ) )