private function Table::renderCell in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/console/Helper/Table.php \Symfony\Component\Console\Helper\Table::renderCell()
Renders table cell with padding.
Parameters
array $row:
int $column:
string $cellFormat:
1 call to Table::renderCell()
- Table::renderRow in vendor/
symfony/ console/ Helper/ Table.php - Renders table row.
File
- vendor/
symfony/ console/ Helper/ Table.php, line 292
Class
- Table
- Provides helpers to display a table.
Namespace
Symfony\Component\Console\HelperCode
private function renderCell(array $row, $column, $cellFormat) {
$cell = isset($row[$column]) ? $row[$column] : '';
$width = $this
->getColumnWidth($column);
if ($cell instanceof TableCell && $cell
->getColspan() > 1) {
// add the width of the following columns(numbers of colspan).
foreach (range($column + 1, $column + $cell
->getColspan() - 1) as $nextColumn) {
$width += $this
->getColumnSeparatorWidth() + $this
->getColumnWidth($nextColumn);
}
}
// str_pad won't work properly with multi-byte strings, we need to fix the padding
if (function_exists('mb_strwidth') && false !== ($encoding = mb_detect_encoding($cell))) {
$width += strlen($cell) - mb_strwidth($cell, $encoding);
}
if ($cell instanceof TableSeparator) {
$this->output
->write(sprintf($this->style
->getBorderFormat(), str_repeat($this->style
->getHorizontalBorderChar(), $width)));
}
else {
$width += Helper::strlen($cell) - Helper::strlenWithoutDecoration($this->output
->getFormatter(), $cell);
$content = sprintf($this->style
->getCellRowContentFormat(), $cell);
$this->output
->write(sprintf($cellFormat, str_pad($content, $width, $this->style
->getPaddingChar(), $this->style
->getPadType())));
}
}