
| Current Path : /var/www/html/ift/vendor/drush/drush/src/Commands/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/ift/vendor/drush/drush/src/Commands/ExampleCommands.php |
<?php
namespace Drush\Commands;
/**
* @file
* Set up local Drush configuration.
*/
use Consolidation\OutputFormatters\StructuredData\RowsOfFields;
use Consolidation\OutputFormatters\Options\FormatterOptions;
use Consolidation\AnnotatedCommand\CommandData;
class ExampleCommands extends DrushCommands
{
/**
* Demonstrate output formatters. Default format is 'table'.
*
* @command example:table
* @field-labels
* first: I
* second: II
* third: III
* @default-string-field second
* @usage example-table --format=yaml
* @usage example-table --format=csv
* @usage example-table --fields=first,third
* @usage example-table --fields=III,II
* @aliases tf
* @hidden
*
* @return \Consolidation\OutputFormatters\StructuredData\RowsOfFields
*/
public function exampleTable($options = ['format' => 'table'])
{
$tableData = [
'en' => [ 'first' => 'One', 'second' => 'Two', 'third' => 'Three' ],
'de' => [ 'first' => 'Eins', 'second' => 'Zwei', 'third' => 'Drei' ],
'jp' => [ 'first' => 'Ichi', 'second' => 'Ni', 'third' => 'San' ],
'es' => [ 'first' => 'Uno', 'second' => 'Dos', 'third' => 'Tres' ],
];
$data = new RowsOfFields($tableData);
// Add a render function to transform cell data when the output
// format is a table, or similar. This allows us to add color
// information to the output without modifying the data cells when
// using yaml or json output formats.
$data->addRendererFunction(
// n.b. There is a fourth parameter $rowData that may be added here.
function ($key, $cellData, FormatterOptions $options, $rowData) {
if ($key == 'first') {
return "<comment>$cellData</>";
}
return $cellData;
}
);
return $data;
}
/**
* Demonstrate an alter hook with an option
*
* @hook alter example-table
* @option french Add a row with French numbers.
* @usage example-table --french
*/
public function alterFormatters($result, CommandData $commandData)
{
if ($commandData->input()->getOption('french')) {
$result['fr'] = [ 'first' => 'Un', 'second' => 'Deux', 'third' => 'Trois' ];
}
return $result;
}
}