ChoiceListFactoryInterface
интерфейс ChoiceListFactoryInterface
Создаёт экземпляры {@link ChoiceListInterface}.
Методы
| ChoiceListInterface | createListFromChoices(array|Traversable $choices, null|callable $value = null) Создаёт список выбора для заданных вариантов. | |
| ChoiceListInterface | createListFromLoader(ChoiceLoaderInterface $loader, null|callable $value = null) Создаёт список выбора, загружаемый с помощью данного загрузчика. | |
| 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) Создаёт представление для данного списка выбора. |
Подробности
ChoiceListInterface createListFromChoices(array|Traversable $choices, null|callable $value = null)
Создаёт список выбора для заданных вариантов.
Варианты должны быть переданы в значениях массива вариантов.
Можно передать лямбда-функцию для генерации значений вариантов. Лямбда-функция принимает в качестве аргументов вариант и ключ массива.
Параметры
| array|Traversable | $choices | Варианты |
| null|callable | $value | Лямбда-функция, генерирующая значения вариантов |
Возвращаемое значение
| ChoiceListInterface | Список выбора |
ChoiceListInterface createListFromLoader(ChoiceLoaderInterface $loader, null|callable $value = null)
Создаёт список выбора, загружаемый с помощью данного загрузчика.
Можно передать лямбда-функцию для генерации значений вариантов. Лямбда-функция принимает в качестве аргументов вариант и ключ массива.
Параметры
| ChoiceLoaderInterface | $loader | Загрузчик вариантов |
| null|callable | $value | Лямбда-функция, генерирующая значения вариантов |
Возвращаемое значение
| ChoiceListInterface | Список выбора |
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)
Создаёт представление для данного списка выбора.
Для всех необязательных аргументов можно передать лямбда-функции. Лямбда-функции принимают в качестве аргументов вариант и ключ массива.
- Лямбда-функция для метки и имени должна возвращать сгенерированное имя метки/варианта.
- Лямбда-функция для предпочитаемых вариантов должна возвращать true или false, в зависимости от того, должен ли вариант быть предпочтительным.
- Лямбда-функция для группировки должна возвращать имя группы или null, если вариант не должен быть сгруппирован.
- Лямбда-функция для атрибутов должна возвращать массив HTML-атрибутов, которые будут вставлены в тег варианта.
Если лямбда-функция не передана, метки будут генерироваться из ключей вариантов. Индексы представления по умолчанию генерируются с помощью увеличивающегося целого числа.
Предпочитаемые варианты также могут быть переданы как массив. Каждый вариант, который содержится в этом массиве, будет помечен как предпочтительный.
Атрибуты могут быть переданы как многомерный массив. Ключи должны соответствовать ключам вариантов. Значения должны быть массивами HTML-атрибутов, которые должны быть добавлены к соответствующему варианту.
Параметры
| ChoiceListInterface | $list | Список выбора |
| null|array|callable | $preferredChoices | Предпочитаемые варианты |
| null|callable | $label | Лямбда-функция, генерирующая метки вариантов |
| null|callable | $index | Лямбда-функция, генерирующая индексы представления |
| null|callable | $groupBy | Лямбда-функция, генерирующая имена групп |
| null|array|callable | $attr | Лямбда-функция, генерирующая HTML-атрибуты |
Возвращаемое значение
| ChoiceListView | Представление списка выбора |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Component/Form/ChoiceList/Factory/ChoiceListFactoryInterface.html