PHP code example of rollun-com / rollun-datahandler

1. Go to this page and download the library: Download rollun-com/rollun-datahandler 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/ */

    

rollun-com / rollun-datahandler example snippets


$processor = new Concat([
    'columns' => [1, 2],
    'delimiter' => '-',
    'resultColumn' => 3,
]);

var_dump($processor->process(['a', 'b'])); // displays ['a', 'b', 'a-b']

$processor = new FilterApplier($options);

var_dump($processor->process(['1a2b3', 'b'])); // displays ['1a2b3', '321']

$options = [
    // Filters for applying
    // Key in array is a priority of filter
    'filters' => [
        0 => [
             'service' => 'digits',
        ],
        1 => [
            'service' => 'rqlReplace',
            'options' => [ // optional
                'pattern' => '123',
                'replacement' => '321',
            ],
        ],
    ],
    'argumentColumn' => 1,
    'resultColumn' => 2, // optional (will save to argumentColumn)
];

$validator = new EmailAddress();
$processor = new FilterApplier($options, $validator);

var_dump($processor->process(['1a2b3', '123'])); // displays ['1a2b3', 'b']

$validator = ArrayAdapter([
    'columnsToValidate' => [1, 2],
    'validator' => 'digits',
]);
$processor = new FilterApplier($options, $validator);

var_dump($processor->process(['1a2b3', '123'])); // displays ['1a2b3', '321']

$array1 = ['abcd', '123'];
$array2 = ['321', '123'];

$validator = new ArrayValidator([
    'columnsToValidate' => [1, 2],
    'validator' => 'digits',
]);

var_dump($validator->isValid($array1)); // false
var_dump($validator->isValid($array2)); // true

$validator = new ArrayValidator([
    'columnsToValidate' => [1, 2],
    'validator' => 'inArray',
    'validatorOptions' => [
        'haystack' => $array2
    ],
]);

var_dump($validator->isValid($array2)); // false

$expressionLanguage = new ExpressionLanguage();

var_dump($expressionLanguage->evaluate('1 + 2')); // displays 3
var_dump($expressionLanguage->compile('1 + 2')); // displays (1 + 2)

// Array for variables in expression
$values = [
    'a' => 2,
    'b' => 5,
];
var_dump($expressionLanguage->evaluate('a * b'), $values); // displays 10
var_dump($expressionLanguage->compile('a * b'), $values); // displays (2 * 5)

$callback = function($value) {
    return $value . $value;
};
$expressionFunction = new ExpressionFunction\Callback($callback, 'foo');
$expressionLanguage = new ExpressionLanguage();
$expressionLanguage->addFunction($expressionFunction);

var_dump($expressionLanguage->evaluate("foo('a')")); // displays 'aa'
var_dump($expressionLanguage->compile("foo('a')")); // exception will be thrown

$pluginManager = new FilterPluginManager(new ServiceManager());
$services = ['digits', 'stringTrim'];
$expressionFunctionProvider = new PluginExpressionFunctionProvider($pluginManager, $services, 'filter');
$expressionLanguage = new ExpressionLanguage();
$expressionLanguage->registerProvider($expressionFunctionProvider);

var_dump($expressionLanguage->evaluate("digits('123abc')")); // displays '123'
var_dump($expressionLanguage->compile("stringTrim('   ad   ')")); //displays 'ad'

$filterPluginManager = FilterPluginManager(new ServiceManager());
// Create filter using filter plugin options
$filter = $filterPluginManager->get('pregReplace', [
   'pattern' => '/aaa/',
   'replacement' => 'a',
]);

var_dump(get_class($filter)); // Zend\Filter\PregReplace

$container = new ServiceManager();
$container->setService('config', [
    'filters' => [
        'abstract_factory_config' => [
            SimpleFilterAbstractFactory::class => [
                'pregReplaceFilter' => [
                    'class' => PregReplace::class,
                    'options' => [
                        'pattern' => '/aaa/',
                        'replacement' => 'a',
                    ],
                ]
            ]
        ]
    ]
]);

$filterPluginManager = FilterPluginManager($container);
$filter = $filterPluginManager->get('pregReplace');

var_dump(get_class($filter)); // Zend\Filter\PregReplace

$container = new ServiceManager();
$container->setService('config', [
    'filters' => [
        'abstract_factory_config' => [
            SimpleFilterAbstractFactory::class => [
                'pregReplaceFilter' => [
                    'class' => PregReplace::class,
                    'options' => [
                        'pattern' => '/aaa/',
                        'replacement' => 'a',
                    ],
                ]
            ]
        ]
    ]
]);
$filterPluginManager = FilterPluginManager($container);

// Will be thrown exception
$filter = $filterPluginManager->get('pregReplace', [
   'pattern' => '/aaa/',
   'replacement' => 'a',
]);