ChoiceToValueTransformer
class ChoiceToValueTransformer implements DataTransformerInterface
Методы
| __construct(ChoiceListInterface $choiceList) Конструктор. | ||
| mixed | transform($choice) Преобразует значение из исходного представления в преобразованное представление. | |
| mixed | reverseTransform(mixed $value) Преобразует значение из преобразованного представления в исходное представление. |
Подробности
__construct(ChoiceListInterface $choiceList)
Конструктор.
Параметры
| ChoiceListInterface | $choiceList |
mixed transform($choice)
Преобразует значение из исходного представления в преобразованное представление.
Этот метод вызывается дважды внутри поля формы:
- Когда поле формы инициализируется данными, прикрепленными из источника данных (объект или массив).
- Когда данные из запроса отправляются с помощью {@link Form::submit()} для преобразования новых входных данных обратно в рендерируемый формат. Например, если у вас есть поле даты и вы отправляете '2009-10-10', вы можете принять это значение, потому что его легко разобрать, но преобразователь все равно запишет "2009/10/10" в поле формы (для дальнейшего отображения или других целей).
Этот метод должен уметь обрабатывать пустые значения. Обычно это будет NULL, но в зависимости от вашей реализации возможны и другие пустые значения (например, пустые строки). Причина этого в том, что преобразователи значений должны быть цепными. Если метод transform() первого преобразователя значений возвращает NULL, второй преобразователь значений должен быть в состоянии обработать это значение.
По соглашению, transform() должен возвращать пустую строку, если передан NULL.
Параметры
| $choice |
Возвращаемое значение
| mixed | Значение в преобразованном представлении |
Исключения
| TransformationFailedException | При ошибке преобразования. |
mixed reverseTransform(mixed $value)
Преобразует значение из преобразованного представления в исходное представление.
Этот метод вызывается, когда вызывается {@link Form::submit()} для преобразования данных, полученных из запроса, в приемлемый формат для вашей обработки данных/слоя модели.
Этот метод должен уметь обрабатывать пустые значения. Обычно это будет пустая строка, но в зависимости от вашей реализации возможны и другие пустые значения (например, пустые строки). Причина этого в том, что преобразователи значений должны быть цепными. Если метод reverseTransform() первого преобразователя значений возвращает пустую строку, второй преобразователь значений должен быть в состоянии обработать это значение.
По соглашению, reverseTransform() должен возвращать NULL, если передана пустая строка.
Параметры
| mixed | $value | Значение в преобразованном представлении |
Возвращаемое значение
| mixed | Значение в исходном представлении |
Исключения
| TransformationFailedException | При ошибке преобразования. |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Component/Form/Extension/Core/DataTransformer/ChoiceToValueTransformer.html