PHP固定
Consoletabe使您易于构建控制台样式表。它可以帮助您在终端/外壳中显示表格数据。这是phplucidframe的组成部分。
许可证:麻省理工学院
作曲家安装
composer require phplucidframe/console-table
示例1:边框表(默认)
$table = new LucidFrame\\Console\\ConsoleTable();
$table
->addHeader(\'Language\')
->addHeader(\'Year\')
->addRow()
->addColumn(\'PHP\')
->addColumn(1994)
->addRow()
->addColumn(\'C++\')
->addColumn(1983)
->addRow()
->addColumn(\'C\')
->addColumn(1970)
->display()
;
您还可以使用getTable方法(例如echo $table->getTable();
输出:
+----------+------+
| Language | Year |
+----------+------+
| PHP | 1994 |
| C++ | 1983 |
| C | 1970 |
+----------+------+
示例2:带填充宽度的边界表2
您也可以将setHeaders()和addRow与数组一起使用。
$table = new LucidFrame\\Console\\ConsoleTable();
$table
->setHeaders(array(\'Language\', \'Year\'))
->addRow(array(\'PHP\', 1994))
->addRow(array(\'C++\', 1983))
->addRow(array(\'C\', 1970))
->setPadding(2)
->display()
;
输出:
+------------+--------+
| Language | Year |
+------------+--------+
| PHP | 1994 |
| C++ | 1983 |
| C | 1970 |
+------------+--------+
示例3:带有左边缘宽度4的边界表4
$table = new LucidFrame\\Console\\ConsoleTable();
$table
->setHeaders(array(\'Language\', \'Year\'))
->addRow(array(\'PHP\', 1994))
->addRow(array(\'C++\', 1983))
->addRow(array(\'C\', 1970))
->setIndent(4)
->display()
;
输出:
+----------+------+
| Language | Year |
+----------+------+
| PHP | 1994 |
| C++ | 1983 |
| C | 1970 |
+----------+------+
示例4:带标头的非海底表
$table = new LucidFrame\\Console\\ConsoleTable();
$table
->setHeaders(array(\'Language\', \'Year\'))
->addRow(array(\'PHP\', 1994))
->addRow(array(\'C++\', 1983))
->addRow(array(\'C\', 1970))
->hideBorder()
->display()
;
输出:
Language Year
----------------
PHP 1994
C++ 1983
C 1970
示例5:无标题的非船舶表
$table = new LucidFrame\\Console\\ConsoleTable();
$table
->addRow(array(\'PHP\', 1994))
->addRow(array(\'C++\', 1983))
->addRow(array(\'C\', 1970))
->hideBorder()
->display()
;
输出:
PHP 1994
C++ 1983
C 1970
示例6:具有所有边界的表
$table = new LucidFrame\\Console\\ConsoleTable();
$table
->setHeaders(array(\'Language\', \'Year\'))
->addRow(array(\'PHP\', 1994))
->addRow(array(\'C++\', 1983))
->addRow(array(\'C\', 1970))
->showAllBorders()
->display()
;
另外,您可以为每一行使用addBorderLine() 。
$table
->setHeaders(array(\'Language\', \'Year\'))
->addRow(array(\'PHP\', 1994))
->addBorderLine()
->addRow(array(\'C++\', 1983))
->addBorderLine()
->addRow(array(\'C\', 1970))
->display()
;
输出
+----------+------+
| Language | Year |
+----------+------+
| PHP | 1994 |
+----------+------+
| C++ | 1983 |
+----------+------+
| C | 1970 |
+----------+------+
示例7:带有列对齐的表
$table = new LucidFrame\\Console\\ConsoleTable();
$table
->addHeader(\'A\')
->addHeader(\'B\', ConsoleTable::ALIGN_RIGHT) # ALIGN_LEFT or ALIGN_RIGHT (ALIGN_LEFT is default)
->addHeader(\'C\')
->addRow()
->addColumn(\'X\')
->addColumn(\'Hello\', null, null, ConsoleTable::ALIGN_RIGHT)
->addColumn(\'Nice\')
->addRow()
->addColumn(\'Y\')
->addColumn(\'Hello, how are you?\')
->addColumn(\'OK\', null, null, ConsoleTable::ALIGN_RIGHT)
->display();
输出
+---+---------------------+------+
| A | B | C |
+---+---------------------+------+
| X | Hello | Nice |
| Y | Hello, how are you? | OK |
+---+---------------------+------+
示例8:带标头和页脚的桌子边界
$table = new LucidFrame\\Console\\ConsoleTable();
$table
->addHeader(\'Name\')
->addHeader(\'Age\')
->addRow()
->addColumn(\'John\')
->addColumn(25, null, null, ConsoleTable::ALIGN_RIGHT)
->addRow()
->addColumn(\'Jane\')
->addColumn(23, null, null, ConsoleTable::ALIGN_RIGHT)
->addFooter(\'Total\')
->addFooter(\'48\', ConsoleTable::ALIGN_RIGHT)
->display();
输出
+-------+-----+
| Name | Age |
+-------+-----+
| John | 25 |
| Jane | 23 |
+-------+-----+
| Total | 48 |
+-------+-----+
示例9:带标头和页脚的非海底表
$table = new LucidFrame\\Console\\ConsoleTable();
$table
->setHeaders(array(\'Name\', \'Age\'))
->addRow(array(\'John\', 25))
->addRow(array(\'Jane\', 23))
->setFooters(array(\'Total\', 48))
->hideBorder()
->display();
输出
Name Age
-----------
John 25
Jane 23
-----------
Total 48
测试
使用Phpunit,您可以在终端中运行此操作。
composer install
vendor\\bin\\phpunit tests
没有phpunit,您只需在终端中运行它即可。
php example.php
