mihai-stancu/serializer

自定义规范化器和一系列编码器。

v1.0.4 2017-05-23 13:08 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:04:18 UTC


README

内容

一个递归规范化器,使用 symfony/property-info 推断对象图元素的数据类型。

一个类型提示规范化器,保留正在规范化的对象图中的类型信息。

以下格式的(symfony 兼容)编码器集合

安装

composer.json 中的建议中选择一个或多个编码格式。如果所选格式在以下内容中描述为 PHP 扩展,则必须安装该扩展。如果是纯 PHP 实现,则可以通过 composer 需求它。

composer require mihai-stancu/serializer
composer require your-chosen/encoder-package
// in AppKernel::registerBundles()
$bundles = array(
    // ...
    new MS\SerializerBundle\MSSerializerBundle(),
    // ...
);

使用

在安装了包以及至少一种建议的编码格式之后,该编码格式将被注册为 symfony/serializer 的序列化格式。

$encoderName = array_rand(
    array(
        'bencode', 
        'bson', 
        'cbor',
        'export',
        'form',
        'igbinary',
        'ini',
        'msgpack',
        'rison',
        //'sereal',
        'serial',
        //'smile',
        'tnetstring',
        'ubjson',
        'yaml',
    )
);

$serializer = $container->get('serializer');
$string = $serializer->serialize($data, $encoderName);
$data = $serializer->unserialize($data, $class, $encoderName);