Skip to content

Commit 106cbef

Browse files
committed
Merge pull request #2473 from umpirsky/feature/console-helper-table
Console table helper
2 parents d0cdd65 + 6374b08 commit 106cbef

File tree

4 files changed

+57
-0
lines changed

4 files changed

+57
-0
lines changed

components/console/helpers/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ The Console Helpers
1010
dialoghelper
1111
formatterhelper
1212
progresshelper
13+
tablehelper
1314

1415
The Console Components comes with some useful helpers. These helpers contain
1516
function to ease some common tasks.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
* :doc:`/components/console/helpers/dialoghelper`
22
* :doc:`/components/console/helpers/formatterhelper`
33
* :doc:`/components/console/helpers/progresshelper`
4+
* :doc:`/components/console/helpers/tablehelper`
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
.. index::
2+
single: Console Helpers; Table Helper
3+
4+
Table Helper
5+
============
6+
7+
.. versionadded:: 2.3
8+
The ``table`` helper was added in Symfony 2.3.
9+
10+
When building a console application it may be useful to display tabular data:
11+
12+
.. image:: /images/components/console/table.png
13+
14+
To display table, use the :class:`Symfony\\Component\\Console\\Helper\\TableHelper`,
15+
set headers, rows and render::
16+
17+
$table = $app->getHelperSet()->get('table');
18+
$table
19+
->setHeaders(array('ISBN', 'Title', 'Author'))
20+
->setRows(array(
21+
array('99921-58-10-7', 'Divine Comedy', 'Dante Alighieri'),
22+
array('9971-5-0210-0', 'A Tale of Two Cities', 'Charles Dickens'),
23+
array('960-425-059-0', 'The Lord of the Rings', 'J. R. R. Tolkien'),
24+
array('80-902734-1-6', 'And Then There Were None', 'Agatha Christie'),
25+
))
26+
;
27+
$table->render($output);
28+
29+
Table layout can be customized as well. There are two ways to customize table rendering:
30+
using named layouts or by customizing rendering options.
31+
32+
Customize Table Layout using Named Layouts
33+
------------------------------------------
34+
35+
Table helper is shipped with two preconfigured table layouts:
36+
37+
* ``TableHelper::LAYOUT_DEFAULT``
38+
39+
* ``TableHelper::LAYOUT_BORDERLESS``
40+
41+
Layout can be set using :method:`Symfony\\Component\\Console\\Helper\\TableHelper::setLayout` method.
42+
43+
Customize Table Layout using Rendering Options
44+
----------------------------------------------
45+
46+
You can control table rendering by setting custom rendering option values:
47+
48+
* :method:`Symfony\\Component\\Console\\Helper\\TableHelper::setPaddingChar`
49+
* :method:`Symfony\\Component\\Console\\Helper\\TableHelper::setHorizontalBorderChar`
50+
* :method:`Symfony\\Component\\Console\\Helper\\TableHelper::setVerticalBorderChar`
51+
* :method:`Symfony\\Component\\Console\\Helper\\TableHelper::setVrossingChar`
52+
* :method:`Symfony\\Component\\Console\\Helper\\TableHelper::setVellHeaderFormat`
53+
* :method:`Symfony\\Component\\Console\\Helper\\TableHelper::setVellRowFormat`
54+
* :method:`Symfony\\Component\\Console\\Helper\\TableHelper::setBorderFormat`
55+
* :method:`Symfony\\Component\\Console\\Helper\\TableHelper::setPadType`

images/components/console/table.png

65.9 KB
Loading

0 commit comments

Comments
 (0)