PHP code example of consolidation / output-formatters
1. Go to this page and download the library: Download consolidation/output-formatters 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/ */
consolidation / output-formatters example snippets
class YamlFormatter implements FormatterInterface
{
public function write(OutputInterface $output, $data, FormatterOptions $options)
{
$dumper = new Dumper();
$output->writeln($dumper->dump($data));
}
}
/**
* @command cache:get
* @field-labels
* cid: Cache ID
* data: Data
* created: Created
* expire: Expire
* tags: Tags
* checksum: Checksum
* valid: Valid
* @default-fields cid,data,created,expire,tags
* @return \Consolidation\OutputFormatters\StructuredData\PropertyList
*/
public function get($cid, $bin = 'default', $options = ['format' => 'json'])
{
$result = ...
return new PropertyList($result);
}
public function renderCell($key, $cellData, FormatterOptions $options, $rowData)
{
// 'my-field' is always an array; convert it to a comma-separated list.
if ($key == 'my-field') {
return implode(',', $cellData);
}
// MyStructuredCellType has its own render function
if ($cellData instanceof MyStructuredCellType) {
return $cellData->myRenderfunction();
}
// If we do not recognize the cell data, return it unchnaged.
return $cellData;
}
return (new RowsOfFields($data))->addRendererFunction(
function ($key, $cellData, FormatterOptions $options, $rowData) {
if ($key == 'my-field') {
return implode(',', $cellData);
}
return $cellData;
}
);
use Consolidation\OutputFormatters\StructuredData\NumericCellRenderer;
...
return (new RowsOfFields($data))->addRenderer(
new NumericCellRenderer($data, ['population','cats-per-capita'])
);
/**
* @param OutputInterface $output Output stream to write to
* @param string $format Data format to output in
* @param mixed $structuredOutput Data to output
* @param FormatterOptions $options Configuration informatin and User options
*/
function doFormat(
OutputInterface $output,
string $format,
array $data,
FormatterOptions $options)
{
$formatterManager = new FormatterManager();
$formatterManager->write(output, $format, $data, $options);
}
public function execute(InputInterface $input, OutputInterface $output)
{
$options = new FormatterOptions();
$options
->setInput($input)
->setFieldLabels(['id' => 'ID', 'one' => 'First', 'two' => 'Second'])
->setDefaultStringField('id');
$data = new RowsOfFields($this->getSomeData($input));
return $this->doFormat($output, $options->getFormat(), $data, $options);
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.