for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Encore\Admin\Layout;
use Illuminate\Contracts\Support\Renderable;
class Row implements Buildable, Renderable
{
/**
* @var Column[]
*/
protected $columns = [];
* Row constructor.
*
* @param string $content
public function __construct($content = '')
if (!empty($content)) {
$this->column(12, $content);
}
* Add a column.
* @param int $width
* @param $content
public function column($width, $content)
$width = $width < 1 ? round(12 * $width) : $width;
$column = new Column($content, $width);
$this->addColumn($column);
* @param Column $column
protected function addColumn(Column $column)
$this->columns[] = $column;
* Build row column.
public function build()
$this->startRow();
foreach ($this->columns as $column) {
$column->build();
$this->endRow();
* Start row.
protected function startRow()
echo '<div class="row">';
* End column.
protected function endRow()
echo '</div>';
* Render row.
* @return string
public function render()
ob_start();
$this->build();
$contents = ob_get_contents();
ob_end_clean();
return $contents;