alexanevsky / getter-setter-accessor-bundle
Provides functions to read and write from/to an object and gets the list of object getters and setters.
Installs: 103
Dependents: 2
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=8.1
- symfony/config: ^5.4|^6.0|^7.0
- symfony/dependency-injection: ^5.4|^6.0|^7.0
- symfony/http-kernel: ^5.4|^6.0|^7.0
- symfony/string: ^5.4|^6.|^7.00
This package is auto-updated.
Last update: 2024-11-25 23:06:57 UTC
README
This library provides functions to read and write from/to an object and gets the list of object getters and setters.
Table of Contents
First Step
Add GetterSetterAccessor
to the constructor of controller or service:
use Alexanevsky\GetterSetterAccessorBundle\GetterSetterAccessor; public function __construct( private GetterSetterAccessor $getterSetterAccessor ) {}
Then let's get an accessor of some object (it can be, for example, some model):
$objectAccessor = $this->getterSetterAccessor->createAccessor($objectAccessor);
Get Value
We can get the value of any property using the getValue()
method, for example:
echo $objectAccessor->getValue('userName'); echo $objectAccessor->getValue('user_name');
The property name can be passed in both camel and snake cases. It will be converted to the one that is actually used.
If the object does not have a getter, an exception will be thrown. Before using getValue()
we can make sure the getter exists using the hasGetter()
method:
if ($objectAccessor->hasGetter('userName')) { echo $objectAccessor->getValue('userName'); }
Set Value
We can set the value of any property using the setValue()
method, for example:
echo $objectAccessor->SetValue('userName', 'John Doe'); echo $objectAccessor->SetValue('user_name', 'John Doe');
The property name can be passed in both camel and snake cases. It will be converted to the one that is actually used.
If the object does not have a setter, an exception will be thrown. Before using setValue()
we can make sure the setter exists using the hasSetter()
method:
if ($objectAccessor->hasSetter('userName')) { echo $objectAccessor->setValue('userName', 'John Doe'); }
Get Getters List
We can get a list of all available object getters using the getGetters()
method. As a result, we will get an array of ObjectGetter[]
, each of which has the following methods:
getValue()
- returns a valuegetName()
- returns the property nameisNullable()
- checks if the value allows nullgetTypes()
- returns a list of types that a value can begetAttribute(attributeClass)
- returns an attribute instance by the its class namegetAttribute(attributeClass)
- checks if an attribute exists by its class name
Get Getters List
We can get a list of all available object getters using the getGetters()
method. As a result, we will get an array of ObjectGetter[]
, each of which has the following methods:
getValue()
- returns a valuegetName()
- returns the property nameisNullable()
- checks if the value allows nullgetTypes()
- returns a list of types that a value can begetAttribute(attributeClass)
- returns an attribute instance by the its class namegetAttribute(attributeClass)
- checks if an attribute exists by its class name
Good luck!