dev-master
9999999-devConsole Table
MIT
The Requires
- php >=5.3
The Development Requires
by Sithu K.
Wallogit.com
2017 © Pedro Peláez
Console Table
ConsoleTabe makes you easy to build console style tables. It helps you to display tabular data in terminal/shell. This is a component of PHPLucidFrame., (*1)
License: MIT, (*2)
composer require phplucidframe/console-table
$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()
;
You can also print the table using getTable method such as echo $table->getTable();, (*3)
Output:, (*4)
+----------+------+ | Language | Year | +----------+------+ | PHP | 1994 | | C++ | 1983 | | C | 1970 | +----------+------+
You can also use setHeaders() and addRow with Arrays., (*5)
$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()
;
Output:, (*6)
+------------+--------+ | Language | Year | +------------+--------+ | PHP | 1994 | | C++ | 1983 | | C | 1970 | +------------+--------+
$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()
;
Output:, (*7)
+----------+------+
| Language | Year |
+----------+------+
| PHP | 1994 |
| C++ | 1983 |
| C | 1970 |
+----------+------+
$table = new LucidFrame\Console\ConsoleTable();
$table
->setHeaders(array('Language', 'Year'))
->addRow(array('PHP', 1994))
->addRow(array('C++', 1983))
->addRow(array('C', 1970))
->hideBorder()
->display()
;
Output:, (*8)
Language Year ---------------- PHP 1994 C++ 1983 C 1970
$table = new LucidFrame\Console\ConsoleTable();
$table
->addRow(array('PHP', 1994))
->addRow(array('C++', 1983))
->addRow(array('C', 1970))
->hideBorder()
->display()
;
Output:, (*9)
PHP 1994 C++ 1983 C 1970
$table = new LucidFrame\Console\ConsoleTable();
$table
->setHeaders(array('Language', 'Year'))
->addRow(array('PHP', 1994))
->addRow(array('C++', 1983))
->addRow(array('C', 1970))
->showAllBorders()
->display()
;
Alternatively, you can use addBorderLine() for each row., (*10)
$table
->setHeaders(array('Language', 'Year'))
->addRow(array('PHP', 1994))
->addBorderLine()
->addRow(array('C++', 1983))
->addBorderLine()
->addRow(array('C', 1970))
->display()
;
Output, (*11)
+----------+------+ | Language | Year | +----------+------+ | PHP | 1994 | +----------+------+ | C++ | 1983 | +----------+------+ | C | 1970 | +----------+------+
$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();
Output, (*12)
+---+---------------------+------+ | A | B | C | +---+---------------------+------+ | X | Hello | Nice | | Y | Hello, how are you? | OK | +---+---------------------+------+
$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();
Output, (*13)
+-------+-----+ | Name | Age | +-------+-----+ | John | 25 | | Jane | 23 | +-------+-----+ | Total | 48 | +-------+-----+
$table = new LucidFrame\Console\ConsoleTable();
$table
->setHeaders(array('Name', 'Age'))
->addRow(array('John', 25))
->addRow(array('Jane', 23))
->setFooters(array('Total', 48))
->hideBorder()
->display();
Output, (*14)
Name Age ----------- John 25 Jane 23 ----------- Total 48
With PHPUnit, you can run this in your terminal., (*15)
composer install vendor\bin\phpunit tests
Without PHPUnit, you can simply run this in your terminal., (*16)
php example.php
Console Table
MIT