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