PHP code example of elgentos / masquerade
1. Go to this page and download the library: Download elgentos/masquerade 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' );
elgentos / masquerade example snippets
namespace Custom ;
use Faker \Provider \Base ;
class WoopFormatter extends Base {
public function woopwoop () {
$woops = ['woop' , 'wop' , 'wopwop' , 'woopwoop' ];
return $woops[array_rand($woops)];
}
}
namespace Custom ;
use Elgentos \Masquerade \DataProcessor ;
use Elgentos \Masquerade \DataProcessor \TableServiceFactory ;
use Elgentos \Masquerade \DataProcessorFactory ;
use Elgentos \Masquerade \Output ;
class WoopTableFactory implements DataProcessorFactory
{
public function create (
Output $output,
TableServiceFactory $tableServiceFactory,
array $tableConfiguration
) : DataProcessor {
$tableService = $tableServiceFactory->create($tableConfiguration['name' ]);
return new WoopTable($output, $tableService, $tableConfiguration);
}
}
namespace Custom ;
use Elgentos \Masquerade \DataProcessor ;
use Elgentos \Masquerade \DataProcessor \TableService ;
use Elgentos \Masquerade \Output ;
class WoopTable implements DataProcessor
{
private $output;
private $configuration;
private $tableService;
public function __construct (Output $output, TableService $tableService, array $configuration)
{
$this ->output = $output;
$this ->tableService = $tableService;
$this ->configuration = $configuration;
}
public function truncate () : void
{
$this ->tableService->truncate();
}
public function delete () : void
{
$this ->tableService->delete($this ->configuration['provider' ]['where' ] ?? '' );
}
public function updateTable (int $batchSize, callable $generator) : void
{
$columns = $this ->tableService->filterColumns($this ->configuration['columns' ] ?? []);
$primaryKey = $this ->configuration['pk' ] ?? $this ->tableService->getPrimaryKey();
$this ->tableService->updateTable(
$columns,
$this ->configuration['provider' ]['where' ] ?? '' ,
$primaryKey,
$this ->output,
$generator,
$batchSize
);
}
}