pawaclawczyk / model-transformation

PHP library for model transformation.
1 stars 3 forks source link

API for transformation rules building #3

Open pawaclawczyk opened 11 years ago

pawaclawczyk commented 11 years ago

Proposition of API to build set of rules using in transformation

RuleSetBuilder
    ::create()
        ::from(SourceProperty)
            ::within(SourceObject)
        ::using(Filter)
            ::on(SourceProperty)
        ::to(TargetProperty)
            ::within(TargetObject)
    ::build()
pawaclawczyk commented 11 years ago
$rsb
    ->from(array('firstName', 'lastName'))
        ->within($person)
    ->using(function ($firstName, $lastName) { return sprintf("%s %s", $firstName, $lastName); })
        ->on(array('firstName', 'lastName'))
    ->to('fullName')
        ->within($contact);
    ->from('phoneNumber')
        ->within($person)
    ->to('phoneNumber')
        ->within($contact)
    ->build()
krymen commented 11 years ago

Below indentation is more legible:

$rsb
    ->from(array('firstName', 'lastName'))->within($person)
        ->using(function ($firstName, $lastName) { return sprintf("%s %s", $firstName, $lastName); })
        ->on(array('firstName', 'lastName'))
    ->to('fullName')->within($contact);
    ->from('phoneNumber')->within($person)
    ->to('phoneNumber')->within($contact)
    ->build()