Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

Console_Tableを使ってみた

新版がリリースされたConsole_Tableを使ってみました。

<?php
    require_once('Console/Table.php');

    $table = new Console_Table();

    $table->setHeaders(array('ID', 'Name', 'e-mail'));

    $table->addRow(array('1', 'taro', 'taro@some.domain.jp'));
    $table->addRow(array('2', 'hoge', 'hoge@some.domain.jp'));
    $table->addRow(array('3', 'foo', 'foo@some.domain.jp'));
    $table->addRow(array('4', 'bar', 'bar@some.domain.jp'));
    $table->addRow(array('5', 'baz', 'baz@some.domain.jp'));

    $table->setAlign(0, CONSOLE_TABLE_ALIGN_RIGHT);

    echo $table->getTable();
?>

これをcliから実行すると、

$ /usr/local/lib/php51/bin/php ./console_table.php 
+----+------+---------------------+
| ID | Name | e-mail              |
+----+------+---------------------+
|  1 | taro | taro@some.domain.jp |
|  2 | hoge | hoge@some.domain.jp |
|  3 | foo  | foo@some.domain.jp  |
|  4 | bar  | bar@some.domain.jp  |
|  5 | baz  | baz@some.domain.jp  |
+----+------+---------------------+
$

こんな感じで出力されます。結構良いかも。PHP4.3.11でも同様に動作しました。
calculateTotalsForメソッドとか使うと面白いのですが、Noticeがバシバシ出ます:-