class DebugFormatterHelper in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/console/Helper/DebugFormatterHelper.php \Symfony\Component\Console\Helper\DebugFormatterHelper
Helps outputting debug information when running an external program from a command.
An external program can be a Process, an HTTP request, or anything else.
@author Fabien Potencier <fabien@symfony.com>
Hierarchy
- class \Symfony\Component\Console\Helper\Helper implements HelperInterface
- class \Symfony\Component\Console\Helper\DebugFormatterHelper
Expanded class hierarchy of DebugFormatterHelper
2 files declare their use of DebugFormatterHelper
- Application.php in vendor/
symfony/ console/ Application.php - ProcessHelperTest.php in vendor/
symfony/ console/ Tests/ Helper/ ProcessHelperTest.php
File
- vendor/
symfony/ console/ Helper/ DebugFormatterHelper.php, line 21
Namespace
Symfony\Component\Console\HelperView source
class DebugFormatterHelper extends Helper {
private $colors = array(
'black',
'red',
'green',
'yellow',
'blue',
'magenta',
'cyan',
'white',
'default',
);
private $started = array();
private $count = -1;
/**
* Starts a debug formatting session.
*
* @param string $id The id of the formatting session
* @param string $message The message to display
* @param string $prefix The prefix to use
*
* @return string
*/
public function start($id, $message, $prefix = 'RUN') {
$this->started[$id] = array(
'border' => ++$this->count % count($this->colors),
);
return sprintf("%s<bg=blue;fg=white> %s </> <fg=blue>%s</>\n", $this
->getBorder($id), $prefix, $message);
}
/**
* Adds progress to a formatting session.
*
* @param string $id The id of the formatting session
* @param string $buffer The message to display
* @param bool $error Whether to consider the buffer as error
* @param string $prefix The prefix for output
* @param string $errorPrefix The prefix for error output
*
* @return string
*/
public function progress($id, $buffer, $error = false, $prefix = 'OUT', $errorPrefix = 'ERR') {
$message = '';
if ($error) {
if (isset($this->started[$id]['out'])) {
$message .= "\n";
unset($this->started[$id]['out']);
}
if (!isset($this->started[$id]['err'])) {
$message .= sprintf('%s<bg=red;fg=white> %s </> ', $this
->getBorder($id), $errorPrefix);
$this->started[$id]['err'] = true;
}
$message .= str_replace("\n", sprintf("\n%s<bg=red;fg=white> %s </> ", $this
->getBorder($id), $errorPrefix), $buffer);
}
else {
if (isset($this->started[$id]['err'])) {
$message .= "\n";
unset($this->started[$id]['err']);
}
if (!isset($this->started[$id]['out'])) {
$message .= sprintf('%s<bg=green;fg=white> %s </> ', $this
->getBorder($id), $prefix);
$this->started[$id]['out'] = true;
}
$message .= str_replace("\n", sprintf("\n%s<bg=green;fg=white> %s </> ", $this
->getBorder($id), $prefix), $buffer);
}
return $message;
}
/**
* Stops a formatting session.
*
* @param string $id The id of the formatting session
* @param string $message The message to display
* @param bool $successful Whether to consider the result as success
* @param string $prefix The prefix for the end output
*
* @return string
*/
public function stop($id, $message, $successful, $prefix = 'RES') {
$trailingEOL = isset($this->started[$id]['out']) || isset($this->started[$id]['err']) ? "\n" : '';
if ($successful) {
return sprintf("%s%s<bg=green;fg=white> %s </> <fg=green>%s</>\n", $trailingEOL, $this
->getBorder($id), $prefix, $message);
}
$message = sprintf("%s%s<bg=red;fg=white> %s </> <fg=red>%s</>\n", $trailingEOL, $this
->getBorder($id), $prefix, $message);
unset($this->started[$id]['out'], $this->started[$id]['err']);
return $message;
}
/**
* @param string $id The id of the formatting session
*
* @return string
*/
private function getBorder($id) {
return sprintf('<bg=%s> </>', $this->colors[$this->started[$id]['border']]);
}
/**
* {@inheritdoc}
*/
public function getName() {
return 'debug_formatter';
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DebugFormatterHelper:: |
private | property | ||
DebugFormatterHelper:: |
private | property | ||
DebugFormatterHelper:: |
private | property | ||
DebugFormatterHelper:: |
private | function | ||
DebugFormatterHelper:: |
public | function |
Returns the canonical name of this helper. Overrides HelperInterface:: |
|
DebugFormatterHelper:: |
public | function | Adds progress to a formatting session. | |
DebugFormatterHelper:: |
public | function | Starts a debug formatting session. | |
DebugFormatterHelper:: |
public | function | Stops a formatting session. | |
Helper:: |
protected | property | ||
Helper:: |
public static | function | ||
Helper:: |
public static | function | ||
Helper:: |
public | function |
Gets the helper set associated with this helper. Overrides HelperInterface:: |
|
Helper:: |
public | function |
Sets the helper set associated with this helper. Overrides HelperInterface:: |
|
Helper:: |
public static | function | Returns the length of a string, using mb_strwidth if it is available. | |
Helper:: |
public static | function |