Компонент Symfony Console, второй по популярности, с более чем 1 млн ежемесячных загрузок и с более чем 2300 проектов с ним в зависимостях. В Symfony 2.8 мы расширили его возможности некоторыми новыми функциями.
Допускается применять стили к столбцам таблицы
Symfony 2.8 позволяет задать различные визуальный стиль для каждого столбца таблицы. Первое, что нужно сделать, создать экземпляр класса TableStyle и определить стилевые особенности:
use Symfony\Component\Console\Helper\TableStyle; $rightAligned = new TableStyle(); $rightAligned->setPadType(STR_PAD_LEFT);
Затем применить пользовательский стиль к любому столбцу таблицы, указав колонку с числовым индексом:
use Symfony\Component\Console\Helper\Table; $table = new Table($output); $table->setHeaders(['#', 'Path', 'Size']); $table->setColumnStyle(2, $rightAligned); // ... $table->render();
Теперь, при визуализации таблицы, содержимое третьей колонке (числовой индекс = 2) будет выровнен по правому краю:
+---+---------------------+---------+ | # | Path | Size | +---+---------------------+---------+ | 1 | autoload.php | 183 | | 2 | ApplicationTest.php | 247,794 | | 3 | CommandTest.php | 14,965 | | 4 | ListCommandTest.php | 2,369 | +---+---------------------+---------+
Сделано исключения видимых в тихом режиме
В некоторых средах обычно запускать консольные команды с опцией —quiet, чтобы избежать отображения какого-либо вывода. Проблема в том, что в этом тихом режиме также не отображается вывод, когда происходит исключение.
В Symfony 2.8, поведение «тихом режиме» изменилось и всегда отображает сведения об исключении, когда происходит такая ошибка. Это сделает вашу жизнь в качестве разработчика легче.
Добавлен помощник индикатор прогресса
Прогресс-бар помощник позволяет создавать классные анимированные индикаторы прогресса. Они полезны, когда вы заранее знаете, когда задача будет завершена, как например в индикаторе загрузки установщика Symfony.
Тем не менее, это общие для выполнения задач, где вы не можете определить заранее, когда они будут завершены. Вот почему мы добавили индикатор прогресса новый помощник, который отображает вращающийся бар в то время как задача выполняется:
В дополнение к spinning bar, вы можете выводить сообщения, в процессе активности индикатора прогресса:
use Symfony\Component\Console\Helper\ProgressIndicator; $progress = new ProgressIndicator($output); $progress->start('Starting...'); // do something ... $progress->advance(); // do something ... $progress->setMessage('Just started...'); // do something ... $progress->setMessage('Half way...'); // do something ... $progress->setMessage('Almost Done...'); // do something ... $progress->finish('Done.');
Еще одна приятная особенность этого индикатора прогресса является то, что он изящно деградирует, если система не поддерживает коды ANSI:
Источник: http://symfony.com/blog/new-in-symfony-2-8-console-improvements