class PropertyAccessDecorator implements ChoiceListFactoryInterface
Adds property path support to a choice list factory.
Pass the decorated factory to the constructor:
php
$decorator = new PropertyAccessDecorator($factory);
You can now pass property paths for generating choice values, labels, view indices, HTML attributes and for determining the preferred choices and the choice groups:
php
// extract values from the $value property
$list = $createListFromChoices($objects, 'value');
__construct(ChoiceListFactoryInterface $decoratedFactory, PropertyAccessorInterface $propertyAccessor = null) Decorates the given factory. | ||
ChoiceListFactoryInterface | getDecoratedFactory() Returns the decorated factory. | |
ChoiceListInterface | createListFromChoices(array|Traversable $choices, null|callable $value = null) Creates a choice list for the given choices. | |
ChoiceListInterface | createListFromLoader(ChoiceLoaderInterface $loader, null|callable $value = null) Creates a choice list that is loaded with the given loader. | |
ChoiceListView | createView(ChoiceListInterface $list, null|array|callable $preferredChoices = null, null|callable $label = null, null|callable $index = null, null|callable $groupBy = null, null|array|callable $attr = null) Creates a view for the given choice list. |
Decorates the given factory.
Returns the decorated factory.
Creates a choice list for the given choices.
The choices should be passed in the values of the choices array.
Optionally, a callable can be passed for generating the choice values. The callable receives the choice as first and the array key as the second argument.
Creates a choice list that is loaded with the given loader.
Optionally, a callable can be passed for generating the choice values. The callable receives the choice as first and the array key as the second argument.
Creates a view for the given choice list.
Callables may be passed for all optional arguments. The callables receive the choice as first and the array key as the second argument.
If no callable is passed, the labels will be generated from the choice keys. The view indices will be generated using an incrementing integer by default.
The preferred choices can also be passed as array. Each choice that is contained in that array will be marked as preferred.
The attributes can be passed as multi-dimensional array. The keys should match the keys of the choices. The values should be arrays of HTML attributes that should be added to the respective choice.
© 2004–2016 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/Form/ChoiceList/Factory/PropertyAccessDecorator.html