Предоставлено
Dany Maillard
в #26933.
В Symfony 4.2 таблицы теперь могут отображать заголовок как вверху, так и внизу своего содержимого с помощью методов setHeaderTitle()
и setFooterTitle()
:
use Symfony\Component\Console\Helper\Table; // ... $table = new Table($output); $table ->setHeaderTitle('Books') ->setFooterTitle('Page 1/2') ->setHeaders(['ISBN', 'Title', 'Author']) ->setRows([ ['99921-58-10-7', 'Divine Comedy', 'Dante Alighieri'], // ... ]) ; $table->render();
Вот как приведенный выше пример будет выглядеть в вашем терминале:
+---------------+----------- Books --------+------------------+ | ISBN | Title | Author | +---------------+--------------------------+------------------+ | 99921-58-10-7 | Divine Comedy | Dante Alighieri | | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | | 960-425-059-0 | The Lord of the Rings | J. R. R. Tolkien | | 80-902734-1-6 | And Then There Were None | Agatha Christie | +---------------+--------- Page 1/2 -------+------------------+
Установка максимальной ширины столбцов
Предоставлено
Roland Franssen
в #28373.
Ширина, определенная с помощью метода setColumnWidth()
, считается минимальной шириной столбца. Если содержимое не помещается, ширина столбца увеличивается до максимальной длины содержимого. В Symfony 4.2 мы добавили новый метод setColumnMaxWidth()
для переноса длинного содержимого в несколько строк для сохранения ширины столбца.
// ... // the first argument is the column position (starting from 0) and // the second argument is the max length in characters $table->setColumnMaxWidth(0, 5); $table->setColumnMaxWidth(1, 10); $table->render();
В этом примере максимальная длина первого столбца устанавливается равной 5 символам, а максимальная длина второго столбца — 10 символам. Содержимое Give больше не помещается в эти столбцы, поэтому оно переносится на несколько строк:
+-------+------------+--------------------------------+ | ISBN | Title | Author | +-------+------------+--------------------------------+ | 99921 | Divine Com | Dante Alighieri | | -58-1 | edy | | | 0-7 | | | | (the rest of rows...) | +-------+------------+--------------------------------+