setValue()
setValue(object|array $objectOrArray, string|\Symfony\Component\PropertyAccess\PropertyPathInterface $propertyPath, mixed $value) : mixed
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.
Parameters
object|array | $objectOrArray | The object or array to modify |
string|\Symfony\Component\PropertyAccess\PropertyPathInterface | $propertyPath | The property path to modify |
mixed | $value | The value to set at the end of the property path |
Throws
- \Symfony\Component\PropertyAccess\Exception\InvalidArgumentException
If the property path is invalid
- \Symfony\Component\PropertyAccess\Exception\AccessException
If a property/index does not exist or is not public
- \Symfony\Component\PropertyAccess\Exception\UnexpectedTypeException
If a value within the path is neither object nor array