Mappers for Lean Mapper.

v1.1.0 2018-04-01 16:32 UTC

This package is auto-updated.

Last update: 2020-07-13 22:52:33 UTC


Build Status

Mappers for Lean Mapper.

Become a Patron! Buy me a coffee


Download a latest package or use Composer:

composer require inlm/mappers

Inlm\Mappers requires PHP 5.4.0 or later.


Mapper Entity Table Column Note
Inlm\Mappers\DefaultMapper OrderItem orderitem customerName only extends LeanMapper\DefaultMapper
Inlm\Mappers\CamelCaseMapper OrderItem orderItem customerName There is issue for MySQL on OS Windows.
Inlm\Mappers\UnderScoreMapper OrderItem order_item customer_name
Inlm\Mappers\DynamicMapper ~ ~ ~ See below.
Inlm\Mappers\PrefixMapper ~ ~ ~ See below.


Dynamic mapper uses explicit mapping of entities and tables.

$mapper = new DynamicMapper;
	'order_items', // table name - required
	'OrderItem', // entity class - optional
	'OrderItemRepository', // repository class - optional
	'item_id' // primary key - optional

If there's no mapping for entity or table, call is passed to fallback mapper (LeanMapper\DefaultMapper by default):

$mapper = new DynamicMapper;
$mapper->getTable('OrderItem'); // returns 'orderitem'

$mapper = new DynamicMapper(new Inlm\Mappers\UnderScoreMapper);
$mapper->getTable('OrderItem'); // returns 'order_item'


PrefixMapper adds & removes prefix from table names.

$mapper = new PrefixMapper('prefix_');
$mapper = new PrefixMapper('prefix_', $fallbackMapper);

PrefixMapper only processes prefixes in table names, everything else is given to fallback mapper (LeanMapper\DefaultMapper by default):

$mapper = new PrefixMapper('prefix_');
echo $mapper->getTable('OrderItem'); // prints 'prefix_orderitem'

$mapper = new PrefixMapper('prefix_', new Inlm\Mappers\UnderScoreMapper);
echo $mapper->getTable('OrderItem'); // prints 'prefix_order_item'

How change default entity namespace

$mapper = new Inlm\Mappers\DefaultMapper('App\Entity');
$mapper = new Inlm\Mappers\CamelCaseMapper('App\Entity');
$mapper = new Inlm\Mappers\UnderScoreMapper('App\Entity');

License: New BSD License
Author: Jan Pecha,