library simple-xml-mapper
Uses reflection to map XML to PHP objects.
robgridley/simple-xml-mapper
Uses reflection to map XML to PHP objects.
- Friday, March 10, 2017
- by robgridley
- Repository
- 1 Watchers
- 4 Stars
- 9 Installations
- PHP
- 0 Dependents
- 0 Suggesters
- 0 Forks
- 0 Open issues
- 3 Versions
- 0 % Grown
SimpleXMLMapper
Uses reflection to map XML to PHP objects. Inspired in part by sabre/xml., (*1)
Usage Example
<?xml version="1.0" encoding="utf-8"?>
<car>
<manufacturer>
<name>Volkswagen</name>
<founded>1937-01-04 00:00:00</founded>
</manufacturer>
<model>Golf R</model>
<year>2016</year>
<msrp>39995.95</msrp>
<colours>
<colour>Lapiz Blue</colour>
<colour>Oryx White</colour>
</colours>
<options>
<option>
<name>19-inch "Pretoria" Wheels</name>
</option>
<option>
<name>Technology Package</name>
</option>
</options>
<hybrid>false</hybrid>
<awd>true</awd>
</car>
use DateTime;
use SimpleXMLElement;
use SimpleXmlMapper\XmlMapper;
use Symfony\Component\PropertyInfo\PropertyInfoExtractor;
use Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor;
use Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor;
class Car
{
/**
* @var Manufacturer
*/
public $manufacturer;
/**
* @var string
*/
public $model;
/**
* @var int
*/
public $year;
/**
* @var float
*/
public $msrp;
/**
* @var array
*/
public $colours = [];
/**
* @var Option[]
*/
public $options = [];
/**
* @var bool
*/
public $hybrid;
/**
* @var bool
*/
public $awd;
}
class Manufacturer
{
/**
* @var string
*/
public $name;
/**
* @var DateTime
*/
public $founded;
}
class Option
{
/**
* @var string
*/
public $name;
}
$listExtractors = [new ReflectionExtractor];
$typeExtractors = [new PhpDocExtractor];
$extractor = new PropertyInfoExtractor($listExtractors, $typeExtractors);
$mapper = new XmlMapper($extractor);
$mapper->addType(DateTime::class, function ($xml) {
return DateTime::createFromFormat('Y-m-d H:i:s', $xml);
});
$xml = new SimpleXMLElement(file_get_contents('car.xml'));
$car = $mapper->map($xml, Car::class);
dev-master
9999999-dev
Uses reflection to map XML to PHP objects.
Sources
Download
MIT
The Requires
The Development Requires
by
Rob Gridley
xml
reflection
mapper
object
1.0.1
1.0.1.0
Uses reflection to map XML to PHP objects.
Sources
Download
MIT
The Requires
The Development Requires
by
Rob Gridley
xml
reflection
mapper
object
1.0.0
1.0.0.0
Uses reflection to map XML to PHP objects.
Sources
Download
MIT
The Requires
The Development Requires
by
Rob Gridley
xml
reflection
mapper
object