Skip to content

dmt-software/jms-serializer-stream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stream serializer

Usage

Serialize

<?php

use DMT\Serializer\Stream\Serializer;
use JMS\Serializer\Serializer as JmsSerializer;

/** @var JmsSerializer $jmsSerializer */
$serializer = new Serializer($jmsSerializer);

/** @var Traversable|Car[] $collection */
$serializer->serialize('file://path/cars.json', $collection, 'json', 'cars', '{"cars":[]}');

// file://path/cars.json contains a json string containing all cars from collection

Deserialize

<?php
 
use DMT\Serializer\Stream\Serializer;
use JMS\Serializer\Serializer as JmsSerializer;

/** @var JmsSerializer $jmsSerializer */
$serializer = new Serializer($jmsSerializer);
$collection = $serializer->deserialize('file://path/cars.xml', Car::class, '/cars/car', 'xml');

/** $collection is now a Generator that returns deserialized Car objects */
foreach ($collection as $key => $car) {
    // -- use the car
}

About

Store or iterate over objects from or to a file/stream

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages