Download the PHP package gnugat/marshaller without Composer
On this page you can find all versions of the php package gnugat/marshaller. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download gnugat/marshaller
More information about gnugat/marshaller
Files in gnugat/marshaller
Package marshaller
Short Description A PHP library that converts from one format to another
License MIT
Homepage https://gnugat.github.io/marshaller
Informations about the package marshaller
Marshaller
A PHP library that converts from one format to another.
Marshaller doesn't try to guess how to convert the given input, instead it relies
on MarshallerStrategies
implemented by the developers: it gives us full control
on the output formats.
To automatically convert an input into specific formats (like XML, JSON or YAML), it might be better to use other tools (e.g. JMS Serializer).
Installation
Marshaller can be installed using Composer:
composer require "gnugat/marshaller:~2.0"
Simple conversion
Let's take the following object:
If we want to convert it to the following format:
Then we have first to create a MarshallerStrategy
:
The second step is to register it in Marshaller
:
Finally we can actually convert the object:
Partial conversion
If we need to convert Article
into the following partial format:
Then we first have to define a new MarshallStrategy
:
Since this MarshallerStrategy
has a more restrictive support
condition, we'd
like it to be checked before ArticleMarshaller
. This can be done by registering
PartialArticleMarshaller
with a higher priority than ArticleMarshaller
(in this case with a priority higher than 0):
Finally we can call Marshaller
, for the partial
category:
Collection conversions
In order to avoid this:
We can use the following short cut method:
Further documentation
You can see the current and past versions using one of the following:
- the
git tag
command - the releases page on Github
- the file listing the changes between versions
You can find more documentation at the following links:
- copyright and MIT license
- versioning and branching models
- contribution instructions