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


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

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

$transformer = new Transformer($role);

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

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

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

$transformer = new Transformer();

// convert f_name to first_name
$transformer->from('f_name')->to('first_name');

// convert l_name to last_name
$transformer->from('l_name')->to('last_name');

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

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

// at the top
use Shetabit\Transformer\Contracts\TransformerInterface;

// ...

class CustomTranformerName implements TransformerInterface
{
    /**
     * Transform data
     *
     * @return array
     */
    public function transform(array $data) : array
    {
        return [
            'user_name' => $data['u'],
            'password' => $data['p']
        ];
    }
}

// use your custom transformer 
$originalData = [
    'u' => 'mahdikhanzadi',
    'p' => '246810'
];

$transformer = new CustomTranformerName();

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

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