enrise/maparea

There is no license information available for the latest version (dev-master) of this package.

A data mapping library.

dev-master 2017-05-19 12:22 UTC

This package is not auto-updated.

Last update: 2022-01-17 03:30:38 UTC


README

This is a PHP mapping helper utility. It's useful when you want to convert a certain array-structure into another structure. The definitions could be declared in a yaml-structure, so it's easy to verify the input and of the mapping.

Definition

The definition is easiest done by using yaml. This project is using JMESpath, so you can define the mapping like this:

# route.yml
id:
  from: uuid
distance:
  from: plan.distance
  service_class: \Enrise\DistanceMapper
# map using route.yml
$mapper = new \Enrise\Maparea\Mapper();

$raw = [
    'uuid' => 'F2001E99-98E6-4C50-A965-C694EC44B810',
    'plan' => [
        'distance' => 1223
    ]
];

$mapper = Mapper::withLoader(new YamlLoader(__DIR__."/resources/yaml"));
$mappedData = $mapper->mapDataWithLoader($raw, "route.yaml");

// $mappedData
[
    'id' => 'F2001E99-98E6-4C50-A965-C694EC44B810',
    'distance' => 1.223
]