Command::execute()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 37
Code Lines 20

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 20
c 0
b 0
f 0
nc 1
nop 2
dl 0
loc 37
ccs 0
cts 16
cp 0
crap 2
rs 9.6
1
<?php
2
/**
3
 * Plugins Management
4
 * @author Joe Huss <[email protected]>
5
 * @copyright 2019
6
 * @package MyAdmin
7
 * @category Plugins
8
 */
9
10
namespace MyAdmin\Plugins\Command;
11
12
use Symfony\Component\Console\Input\InputInterface;
13
use Symfony\Component\Console\Output\OutputInterface;
14
use Composer\Command\BaseCommand;
15
16
/**
17
 * Class Command
18
 *
19
 * @package MyAdmin\Plugins\Command
20
 */
21
class Command extends BaseCommand
22
{
23
	protected function configure()
24
	{
25
		$this
26
			// the name of the command (the part after "bin/console")
27
			->setName('myadmin')
28
			// the short description shown while running "php bin/console list"
29
			->setDescription('Creates a new user.')
30
			// the full command description shown when running the command with the "--help" option
31
			->setHelp('This command allows you to create a user...');
32
		//->addArgument('username', InputArgument::REQUIRED, 'The username of the user.');
33
	}
34
35
	/** (optional)
36
	 * This method is executed before the interact() and the execute() methods.
37
	 * Its main purpose is to initialize variables used in the rest of the command methods.
38
	 *
39
	 * @param \Symfony\Component\Console\Input\InputInterface   $input
40
	 * @param \Symfony\Component\Console\Output\OutputInterface $output
41
	 */
42
	protected function initialize(InputInterface $input, OutputInterface $output)
43
	{
44
	}
45
46
	/** (optional)
47
	 * This method is executed after initialize() and before execute().
48
	 * Its purpose is to check if some of the options/arguments are missing and interactively
49
	 * ask the user for those values. This is the last place where you can ask for missing
50
	 * options/arguments. After this command, missing options/arguments will result in an error.
51
	 *
52
	 * @param \Symfony\Component\Console\Input\InputInterface   $input
53
	 * @param \Symfony\Component\Console\Output\OutputInterface $output
54
	 */
55
	protected function interact(InputInterface $input, OutputInterface $output)
56
	{
57
	}
58
59
	/** (required)
60
	 * This method is executed after interact() and initialize().
61
	 * It contains the logic you want the command to execute.
62
	 *
63
	 * @param InputInterface $input
64
	 * @param OutputInterface $output
65
	 */
66
	protected function execute(InputInterface $input, OutputInterface $output)
67
	{
68
		$output->writeln([ // outputs multiple lines to the console (adding "\n" at the end of each line)
69
			'User Creator',
70
			'============',
71
			''
72
						 ]);
73
		/*
74
		$output->writeln('Username: '.$input->getArgument('username')); // retrieve the argument value using getArgument()
75
		*/
76
		$output->write('You are about to '); // outputs a message without adding a "\n" at the end of the line
77
		$output->write('create a user.');
78
79
		/** Coloring
80
		 * @link http://symfony.com/doc/current/console/coloring.html
81
		 */
82
		$output->writeln('<info>foo</info>'); // green text
83
		$output->writeln('<comment>foo</comment>'); // yellow text
84
		$output->writeln('<question>foo</question>'); // black text on a cyan background
85
		$output->writeln('<error>foo</error>'); // white text on a red background
86
87
		/** Formatting
88
		 * @link http://symfony.com/doc/current/components/console/helpers/formatterhelper.html
89
		 */
90
		$formatter = $this->getHelper('formatter');
91
		// Section - [SomeSection] Here is some message related to that section
92
		$formattedLine = $formatter->formatSection('SomeSection', 'Here is some message related to that section');
93
		$output->writeln($formattedLine);
94
		// Error Block
95
		$errorMessages = ['Error!', 'Something went wrong'];
96
		$formattedBlock = $formatter->formatBlock($errorMessages, 'error');
97
		$output->writeln($formattedBlock);
98
		// Truncated Messages
99
		$message = 'This is a very long message, which should be truncated';
100
		$truncatedMessage = $formatter->truncate($message, 7); // This is...
0 ignored issues
show
Unused Code introduced by
The assignment to $truncatedMessage is dead and can be removed.
Loading history...
101
		$truncatedMessage = $formatter->truncate($message, 7, '!!'); // result: This is!!
102
		$output->writeln($truncatedMessage);
103
104
		/** Table
105
		 * @link http://symfony.com/doc/current/components/console/helpers/table.html
106
		 */
107
108
		/** Style
109
		 * @link http://symfony.com/doc/current/console/style.html
110
		 */
111
112
		/** Process Helper
113
		 * @link http://symfony.com/doc/current/components/console/helpers/processhelper.html
114
		 */
115
		/** Progress Bar
116
		 * @link http://symfony.com/doc/current/components/console/helpers/progressbar.html
117
		 */
118
		/** Question Helper
119
		 * @link http://symfony.com/doc/current/components/console/helpers/questionhelper.html
120
		 */
121
	}
122
}
123