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.
Package info
github.com/maximo-perez-villalba/class-properties-reader
pkg:composer/maximo-perez-villalba/class-properties-reader
1.1.2
2022-11-28 18:38 UTC
Requires
- php: >=8.1
Requires (Dev)
- phpunit/phpunit: ^9.5
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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
)
)