PHP code example of shetabit / transformer

1. Go to this page and download the library: Download shetabit/transformer library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

shetabit / transformer example snippets


use Shetabit\Transformer\Classes\Transform;
use Shetabit\Transformer\Classes\Transformer;

$originalData = [
    'f_name' => 'mahdi',
    'l_name' => 'khanzadi',
];

$format = [
    'f_name' => 'first_name',
    'l_name' => 'last_name',
];

$transformedData = new Transform($originalData)->get(new Transformer($format));

/*
[
    'first_name' => 'mahdi',
    'last_name' => 'khanzadi',
]
*/

$transform = new Transform()->use(new Transformer($format));

foreach ($rows as $row) {
    $transformed[] = $transform->setOriginalData($row)->get();
}

$transformer = new Transformer();

$transformer->from('f_name')->to('first_name');
$transformer->from('l_name')->to('last_name');

$transformedData = new Transform($originalData)->use($transformer)->get();

$transformer = new Transformer()
    ->from(['f_name', 'l_name'])
    ->to(['first_name', 'last_name']);

$transformer = new Transformer([
    'cust' => 'customer',
    'f_name' => 'first_name',
    'itms' => 'items',
    'sku' => 'code',
], recursive: true);

$transformedData = new Transform([
    'cust' => ['f_name' => 'mahdi'],
    'itms' => [['sku' => 'A-1'], ['sku' => 'B-7']],
])->get($transformer);

/*
[
    'customer' => ['first_name' => 'mahdi'],
    'items' => [['code' => 'A-1'], ['code' => 'B-7']],
]
*/

new Transformer(['first_name' => 'last_name', 'last_name' => 'first_name']);

new Transformer(['legacy_total' => 'total'])->transform(['legacy_total' => 12900, 'total' => 0]);

// ['total' => 12900]

use Shetabit\Transformer\Contracts\TransformerInterface;

class CredentialsTransformer implements TransformerInterface
{
    public function transform(array $data) : array
    {
        return [
            'username' => $data['u'],
            'password' => $data['p'],
        ];
    }
}

$transformedData = new Transform(['u' => 'mahdikhanzadi', 'p' => '246810'])
    ->get(new CredentialsTransformer());

/*
[
    'username' => 'mahdikhanzadi',
    'password' => '246810',
]
*/