编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.7,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。

当构建一个控制台应用程序显示表格数据:它可能是有用的

1 2 3 4 5 6 7 8
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + | ISBN |标题|作者| + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + | 99921-58-10-7 |神曲|但丁| | 9971-5-0210-0 |双城记查尔斯·狄更斯| | | 960-425-059-0 |《魔戒》| j·r·r·托尔金| | 80-902734-1-6 |无人生还|阿加莎·克里斯蒂| + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - +

显示一个表,使用,设置标题,设置行然后呈现表:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
使用欧宝娱乐app下载地址\组件\控制台\助手\;/ /……SomeCommand扩展命令{公共函数执行(InputInterface美元输入,OutputInterface美元输出){美元=表(美元输出);美元- >setheader (数组(“ISBN”,“标题”,“作者”))- >setRows (数组(数组(“99921-58-10-7”,“神曲”,“但丁的),数组(“9971-5-0210-0”,“双城记”,查尔斯·狄更斯的),数组(“960-425-059-0”,“指环王”,j·r·r·托尔金的),数组(“80-902734-1-6”,“无人生还”,阿加莎·克里斯蒂的)));美元- >呈现();}}

您可以添加一个表分离器在输出通过的一个实例TableSeparator一行:

1 2 3 4 5 6 7 8 9
使用欧宝娱乐app下载地址\组件\控制台\助手\TableSeparator;美元- >setRows (数组(数组(“99921-58-10-7”,“神曲”,“但丁的),数组(“9971-5-0210-0”,“双城记”,查尔斯·狄更斯的),TableSeparator (),数组(“960-425-059-0”,“指环王”,j·r·r·托尔金的),数组(“80-902734-1-6”,“无人生还”,阿加莎·克里斯蒂的)));
1 2 3 4 5 6 7 8 9
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + | ISBN |标题|作者| + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + | 99921-58-10-7 |神曲|但丁| | 9971-5-0210-0 |双城记查尔斯·狄更斯| | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + | 960-425-059-0 |《魔戒》| j·r·r·托尔金| | 80-902734-1-6 |无人生还|阿加莎·克里斯蒂| + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - +

表的风格可以改变任何通过内置的样式setStyle ():

1 2 3 4 5 6
/ /调用一样美元- >setStyle (“默认”);/ /更改默认风格紧凑美元- >setStyle (“紧凑”);美元- >呈现();

这段代码的结果:

1 2 3 4 5
ISBN标题作者99921-58-10-7神曲但丁9971-5-0210-0双城记查尔斯·狄更斯9971-5-0210-0《魔戒》j·r·r·托尔金80-902734-1-6无人生还阿加莎·克里斯蒂

你也可以设置风格无边界的:

1 2
美元- >setStyle (“无边界”);美元- >呈现();

输出:

1 2 3 4 5 6 7 8
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ISBN标题作者= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 99921-58-10-7神曲但丁99921-58-10-7双城记查尔斯·狄更斯960-425-059-0《魔戒》j·r·r·托尔金80-902734-1-6无人生还阿加莎·克里斯蒂= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

如果内置的样式不适合您的需要,定义自己的:

1 2 3 4 5 6 7 8 9 10 11 12 13 14
使用欧宝娱乐app下载地址\组件\控制台\助手\TableStyle;/ /默认情况下,这是基于默认风格美元tableStyle=TableStyle ();/ /自定义样式美元tableStyle- >setHorizontalBorderChar (' < fg =红色> | < / > ')- >setVerticalBorderChar (< fg =红色> - < / > ')- >setCrossingChar (' ');/ /使用的定制样式表美元- >setStyle (美元tableStyle);

这是一个完整的列表,你可以自定义:

提示

你也可以注册一个风格在全球范围内:

1 2 3 4 5
/ /注册风格在色彩斑斓的名字::setStyleDefinition (“丰富多彩”,美元tableStyle);/ /给定应用的定制样式表美元- >setStyle (“丰富多彩”);

该方法还可以用于覆盖一个内置的风格。

跨越多个行和列

2.7

跨越多个行和列是在Symfony 2.7中引入的。欧宝娱乐app下载地址

做一个表格单元横跨多个列可以使用TableCell:

1 2 3 4 5 6 7 8 9 10 11 12 13 14
使用欧宝娱乐app下载地址\组件\控制台\助手\;使用欧宝娱乐app下载地址\组件\控制台\助手\TableSeparator;使用欧宝娱乐app下载地址\组件\控制台\助手\TableCell;美元=表(美元输出);美元- >setheader (数组(“ISBN”,“标题”,“作者”))- >setRows (数组(数组(“99921-58-10-7”,“神曲”,“但丁的),TableSeparator (),数组(TableCell (“这个值跨度3列。”,数组(“colspan”= >3)))));美元- >呈现();

这将导致:

1 2 3 4 5 6 7
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + | ISBN |标题|作者| + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + | 99921-58-10-7 |神曲|但丁| + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + |这个值跨度3列。| + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - +

提示

您可以创建一个多重线页面标题使用一次横贯整个表标题单元格宽度:

1 2 3 4 5
美元- >setheader (数组(数组(TableCell (“主要表标题”,数组(“colspan”= >3))),数组(“ISBN”,“标题”,“作者”)))/ /……

这个生成:

1 2 3 4 5 6 7
+ - - - - - - - - - - - - - - - - - - - - - - - - + + |主要表标题| + - - - - - - - - - - - - - - - - - - - - - - - - + + | ISBN |标题|作者| + - - - - - - - - - - - - - - - - - - - - - - - - + + |…| + - - - - - - - - - - - - - - - - - - - - - - - - + +

以类似的方式你可以跨越多个行:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
使用欧宝娱乐app下载地址\组件\控制台\助手\;使用欧宝娱乐app下载地址\组件\控制台\助手\TableCell;美元=表(美元输出);美元- >setheader (数组(“ISBN”,“标题”,“作者”))- >setRows (数组(数组(“978 - 0521567817”,“论帝制》”,TableCell (“但丁\ nspans多行”,数组(“行宽”= >2)))数组(“978 - 0804169127”,“神曲”)));美元- >呈现();

这个输出:

1 2 3 4 5 6
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - + | ISBN |标题|作者| + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - + | 978 - 0521567817 |论帝制》|但丁| | 978 - 0804169127 |神曲| | +跨越多个行- - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

您可以使用colspan行宽选项同时允许你创建任何你可能希望的表布局。

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。