Удобный вывод табличной информации в консоль

babahalki

Постоялец
Регистрация
6 Май 2016
Сообщения
247
Реакции
107
Всем привет. Недавно я более активно начал использовать php через консоль в связи с необходимостью выполнения модульных тестов в библиотеке PHPUnit.

За время работы я очень привык к отладке своего кода через браузер для чего я сделал специальную библиотеку, которая умеет записывать события, а потом выводить их в красивой табличной форме. Я так привык к такому способу отладки, что каждый очередной анализ лога из консоли становился для меня настоящей пыткой. Во время самой разработки я запускаю тесты маленькими частями прямо из phpstorm, а когда надо тестировать сразу и все - использую bash.

Я немного помучился со стандартными очень скудными сообщениями, которые выводит туда сам phpunit и прикрутил свою библиотеку, чтобы она могла выводить данные в консоль в виде простого текста без HTML таблицы. Стало получше, но все равно когда записей лога с десяток искать что-то в построчном выводе все равно не удобно.

В итоге я решил прокачать свой дебагер, научив его рисовать таблицы в консоль. Порывшись в сети я нашел несколько нужных библиотек, но все они что-то делали неправильно. Ни одна из испробованных мной библиотек не могла выводить красиво таблицу с многострочными ячейками. В итоге я решил запилить свой лунапарк.

Пришлось попотеть, но мне удалось.
Либа умеет рисовать псевдографическую таблицу ascii произвольной ширины, которая задается при создании класса. Использовать либу очень просто:

PHP:
<?php

$a = array(
array('one'=>1,'two'=>2,'three'=>3),
array('one'=>1,'two'=>2,'three'=>3),
);      
require_once(dirname(__FILE__).'/Table2ascii.php');     
$c = new Table2ascii(170);
print $c->draw($a);

СКАЧАТЬ можно отсюда:
Для просмотра ссылки Войди или Зарегистрируйся

upload_2017-12-22_18-51-45.png
 
Последнее редактирование:
Назад
Сверху