PropertyAccessor::setValue()

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.

Parameters

object|array $objectOrArray The object or array to modify
string|PropertyPathInterface $propertyPath The property path to modify
mixed $value The value to set at the end of the property path

Exceptions

InvalidArgumentException If the property path is invalid
AccessException If a property/index does not exist or is not public
UnexpectedTypeException If a value within the path is neither object nor array
doc_Symfony
2016-10-28 06:27:46
Comments
Leave a Comment

Please login to continue.