Метод isVeryVerbose
Метод isVeryVerbose принадлежит классу Output и возвращает true, если текущий уровень детализации вывода равен OutputInterface::VERBOSITY_VERY_VERBOSE. Этот метод удобно использовать в командах для вывода дополнительной отладочной информации, которая должна появляться только при очень подробном выводе. Параметров метод не принимает.
Синтаксис
public function isVeryVerbose(): bool
Пример
Давайте создадим простую консольную команду, которая проверяет уровень детализации и выводит сообщение:
<?php
namespace App\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class VerboseCommand extends Command
{
protected static $defaultName = 'app:verbose';
protected function execute(InputInterface $input, OutputInterface $output): int
{
if ($output->isVeryVerbose()) {
$output->writeln('Very verbose mode is enabled');
} else {
$output->writeln('Very verbose mode is disabled');
}
return Command::SUCCESS;
}
}
?>
Результат выполнения команды без флага -vv:
php bin/console app:verbose
Результат выполнения кода:
"Very verbose mode is disabled"
Результат выполнения команды с флагом -vv:
php bin/console app:verbose -vv
Результат выполнения кода:
"Very verbose mode is enabled"
Пример
Давайте используем метод isVeryVerbose для вывода массива отладочных данных:
<?php
namespace App\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class DebugCommand extends Command
{
protected static $defaultName = 'app:debug';
protected function execute(InputInterface $input, OutputInterface $output): int
{
$data = ['a', 'b', 'c', 'd', 'e'];
if ($output->isVeryVerbose()) {
$output->writeln('Debug data:');
$output->writeln(implode(', ', $data));
}
return Command::SUCCESS;
}
}
?>
Результат выполнения команды с флагом -vv:
php bin/console app:debug -vv
Результат выполнения кода:
"Debug data:
a, b, c, d, e"
Смотрите также
-
класс
Output,
который управляет выводом в консольных командах -
метод
isVerbose,
который проверяет обычный уровень детализации -
метод
isDebug,
который проверяет режим отладки -
метод
setVerbosity,
который устанавливает уровень детализации