| @@ 47-77 (lines=31) @@ | ||
| 44 | /** |
|
| 45 | * @param Table $table |
|
| 46 | */ |
|
| 47 | private function writeHeader(Table $table) |
|
| 48 | { |
|
| 49 | $line = ''; |
|
| 50 | ||
| 51 | foreach ($table->getColumns() as $column) { |
|
| 52 | if (!$line) { |
|
| 53 | $line .= '|'; |
|
| 54 | } |
|
| 55 | ||
| 56 | $columnWidth = $this->getMaxColumnWidth($column); |
|
| 57 | $value = $column->getLabel(); |
|
| 58 | $suffix = ''; |
|
| 59 | $prefix = ''; |
|
| 60 | ||
| 61 | if ($value) { |
|
| 62 | $prefix = ' '; |
|
| 63 | $missingSpaces = $columnWidth - mb_strlen($value) + mb_strlen($prefix); |
|
| 64 | if ($missingSpaces > 0) { |
|
| 65 | $suffix = str_repeat(' ', $missingSpaces); |
|
| 66 | } else { |
|
| 67 | $suffix = ' '; |
|
| 68 | } |
|
| 69 | } |
|
| 70 | ||
| 71 | $line .= sprintf('%s%s%s|', $prefix, $value, $suffix); |
|
| 72 | } |
|
| 73 | ||
| 74 | if ($line) { |
|
| 75 | $this->writeLine($line); |
|
| 76 | } |
|
| 77 | } |
|
| 78 | ||
| 79 | /** |
|
| 80 | * @param Table $table |
|
| @@ 82-112 (lines=31) @@ | ||
| 79 | /** |
|
| 80 | * @param Table $table |
|
| 81 | */ |
|
| 82 | private function writeBody(Table $table) |
|
| 83 | { |
|
| 84 | foreach ($table->toArray() as $row) { |
|
| 85 | $line = ''; |
|
| 86 | foreach ($row as $column => $value) { |
|
| 87 | if (!$line) { |
|
| 88 | $line .= '|'; |
|
| 89 | } |
|
| 90 | ||
| 91 | $columnWidth = $this->getMaxColumnWidth($table->getColumn($column)); |
|
| 92 | $suffix = ''; |
|
| 93 | $prefix = ''; |
|
| 94 | ||
| 95 | if ($value) { |
|
| 96 | $prefix = ' '; |
|
| 97 | $missingSpaces = $columnWidth - mb_strlen($value) + mb_strlen($prefix); |
|
| 98 | if ($missingSpaces > 0) { |
|
| 99 | $suffix = str_repeat(' ', $missingSpaces); |
|
| 100 | } else { |
|
| 101 | $suffix = ' '; |
|
| 102 | } |
|
| 103 | } |
|
| 104 | ||
| 105 | $line .= sprintf('%s%s%s|', $prefix, $value, $suffix); |
|
| 106 | } |
|
| 107 | ||
| 108 | if ($line) { |
|
| 109 | $this->writeLine($line); |
|
| 110 | } |
|
| 111 | } |
|
| 112 | } |
|
| 113 | ||
| 114 | /** |
|
| 115 | * @param Column $column |
|