PropertyAccessorInterface
interface PropertyAccessorInterface
Writes and reads values to/from an object/array graph.
Methods
Sets the value at the end of the property path of the object graph.
Returns the value at the end of the property path of the object graph.
Returns whether a value can be written at a given property path.
Returns whether a property path can be read from an object graph.
Details
setValue(object|array $objectOrArray, string|PropertyPathInterface $propertyPath, mixed $value)
Sets the value at the end of the property path of the object graph.
Example:
use Symfony\Component\PropertyAccess\PropertyAccess;
$propertyAccessor = PropertyAccess::createPropertyAccessor();
echo $propertyAccessor->setValue($object, 'child.name', 'Fabien');
// equals echo $object->getChild()->setName('Fabien');
This method first tries to find a public setter for each property in the path. The name of the setter must be the camel-cased property name prefixed with "set".
If the setter does not exist, this method tries to find a public property. The value of the property is then changed.
If neither is found, an exception is thrown.
mixed
getValue(object|array $objectOrArray, string|PropertyPathInterface $propertyPath)
Returns the value at the end of the property path of the object graph.
Example:
use Symfony\Component\PropertyAccess\PropertyAccess;
$propertyAccessor = PropertyAccess::createPropertyAccessor();
echo $propertyAccessor->getValue($object, 'child.name);
// equals echo $object->getChild()->getName();
This method first tries to find a public getter for each property in the path. The name of the getter must be the camel-cased property name prefixed with "get", "is", or "has".
If the getter does not exist, this method tries to find a public property. The value of the property is then returned.
If none of them are found, an exception is thrown.
bool
isWritable(object|array $objectOrArray, string|PropertyPathInterface $propertyPath)
Returns whether a value can be written at a given property path.
Whenever this method returns true, {@link setValue()} is guaranteed not to throw an exception when called with the same arguments.
bool
isReadable(object|array $objectOrArray, string|PropertyPathInterface $propertyPath)
Returns whether a property path can be read from an object graph.
Whenever this method returns true, {@link getValue()} is guaranteed not to throw an exception when called with the same arguments.