Новое в Symfony 3.1: Data URI Normalizer

Компонент Serializer использует нормализаторами/денормализаторами чтобы преобразовывать объекты в промежуточные массивы, используемые для сериализации/ десериализации содержимого. В Symfony 3.1, добавлен новый DataUriNormalizer , чтобы преобразовывать объекты в data:URI строки.

Первое что нужно сделать, для нормализации объекта в data:URI строку, передать экземпляр объекта в normalize() метод:

use Symfony\Component\Serializer\Normalizer\DataUriNormalizer;

$normalizer = new DataUriNormalizer();
$avatar = $normalizer->normalize(new \SplFileObject('avatar.gif'));
// $avatar = 'data:image/gif;base64,R0lGODdhAQABAIAAAP///////ywAAAAAAQABAAACAkQBADs=';

Содержимое нормированных файлов теперь можно совместимо и безопасно с другими технологиями, такими как JavaScript, посредствам FileReader.readAsDataURL() метода.

Денормализация data:URI строки в экземпляр объекта также очень проста:

use Symfony\Component\Serializer\Normalizer\DataUriNormalizer;

$normalizer = new DataUriNormalizer();
$avatar = $normalizer->denormalize('data:image/gif;base64,R0lGODdhAQABAIAAAP///////ywAAAAAAQABAAACAkQBADs=', 'SplFileObject');
// $avatar is a SplFileObject with the GIF image contents

Нормализатор/денормализатор поддерживает любой файловый объект, который является экземпляром \SplFileInfo, в том числе \SplFileObject и Symfony\Component\HttpFoundation\File\File объектов.

При нормализации объектов, MimeTypeGuesser обеспечиваемый компонентом HttpFoundation используется для определения MIME типа объекта. Если ваше приложение использует пользовательский Guesser, передаете его в качестве первого аргумента в класс DataUriNormalizer.

Источник: http://symfony.com/blog/new-in-symfony-3-1-data-uri-normalizer

 

Добавить комментарий

Ваш адрес email не будет опубликован.

4 × 2 =