1. Go to this page and download the library: Download tobento/service-table library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
tobento / service-table example snippets
use Tobento\Service\Table\Table;
$table = new Table('products');
$table->row([
'sku' => 'Sku',
'title' => 'Title',
'description' => 'Description',
'price' => 'Price',
])->heading();
$table->row([
'sku' => 'shirt',
'title' => 'Shirt',
'description' => 'A nice shirt in blue color.',
'price' => 19.99,
]);
<?= $table->render()
use Tobento\Service\Table\Table;
use Tobento\Service\Table\TableInterface;
use Tobento\Service\Table\Renderer;
$table = new Table(
name: 'products',
columns: ['title', 'description'], // The columns to render only.
renderer: new Renderer(),
);
var_dump($table instanceof TableInterface);
// bool(true)
// Get the name of the table:
var_dump($table->name());
// string(8) "products"
use Tobento\Service\Table\Table;
$table = new Table('products');
$newTable = $table->withColumns(['sku', 'title']);
var_dump($table === $newTable);
// bool(false)
use Tobento\Service\Table\Table;
use Tobento\Service\Table\Renderer;
$table = new Table('products');
$newTable = $table->withRenderer(new Renderer());
var_dump($table === $newTable);
// bool(false)
use Tobento\Service\Table\Table;
$table = new Table('products');
$table->rows([
[
'sku' => 'shirt',
'title' => 'Shirt',
'description' => 'A nice shirt in blue color.',
'price' => 19.99,
],
[
'sku' => 'cap',
'title' => 'Cap',
'description' => 'A nice cap.',
'price' => 11.99,
],
]);
use Tobento\Service\Table\Table;
use Tobento\Service\Table\Row;
class Product
{
public function __construct(
protected string $title,
protected float $price,
) {}
public function title(): string
{
return $this->title;
}
public function price(): float
{
return $this->price;
}
}
$table = new Table('products');
$table->rows([
new Product('Shirt', 19.99),
new Product('Cap', 11.99),
], function(Row $row, Product $product): void {
$row->column(key: 'title', text: $product->title());
$row->column(key: 'price', text: $product->price(), attributes: ['data-foo' => 'value']);
});
use Tobento\Service\Table\Table;
$table = new Table('products');
$table->row([
'sku' => 'shirt',
'title' => 'Shirt',
'description' => 'A nice shirt in blue color.',
'price' => 19.99,
]);
use Tobento\Service\Table\Table;
use Tobento\Service\Table\Row;
class Product
{
public function __construct(
protected string $title,
protected float $price,
) {}
public function title(): string
{
return $this->title;
}
public function price(): float
{
return $this->price;
}
}
$table = new Table('products');
$table->row(
new Product('Shirt', 19.99),
function(Row $row, Product $product): void {
$row->column(key: 'title', text: $product->title())
->column(key: 'price', text: $product->price(), attributes: ['data-foo' => 'value']);
}
);
use Tobento\Service\Table\Table;
$table = new Table('products');
$table->row([
'title' => 'Title',
'description' => 'Description',
])->heading();
use Tobento\Service\Table\Table;
$table = new Table('products');
$table->row([
'title' => 'Title',
'description' => 'Description',
])->id('header');
$headerRow = $table->getRow('header');
use Tobento\Service\Table\Table;
use Tobento\Service\Table\Row;
$item = [
'sku' => 'shirt',
'title' => 'Shirt',
'description' => 'A nice shirt in blue color.',
'price' => 19.99,
];
$table = new Table('products');
$table->row()
->each($item, function(Row $row, $value, $key): void {
$row->column(key: $key, value: $value);
});
use Tobento\Service\Table\Table;
use Tobento\Service\Table\Row;
$table = new Table('products');
$table->row()
->when(true, function(Row $row): void {
$row->column('actions', 'Actions');
});
use Tobento\Service\Table\Table;
$table = new Table('products');
$table->row([
'sku' => 'shirt',
'title' => 'Shirt',
'description' => '<p>A nice shirt in blue color.</p>',
'price' => 19.99,
])->html('description');
use Tobento\Service\Table\Table;
$table = new Table('products');
$table->row()
->column(key: 'sku', text: 'Sku')
->column(key: 'title', text: 'Title', attributes: ['data-foo' => 'Foo']);
use Tobento\Service\Table\Table;
use Tobento\Service\Table\RowInterface;
$table = new Table('products');
// must implement RowInterface
$customRow = new CustomRow();
$table->addRow($customRow);
use Tobento\Service\Table\Table;
$table = new Table('products');
$table->attributes(['data-foo' => 'value']);
$attributes = $table->getAttributes();
// ['data-foo' => 'value']
use Tobento\Service\Table\Table;
use Tobento\Service\Table\Renderer;
$table = new Table(
name: 'products',
renderer: new Renderer(),
);
$table->attributes(['data-id' => 'value']);
$table->row([
'sku' => 'Sku',
'title' => 'Title',
'description' => 'Description',
'price' => 'Price',
])->heading();
$table->row([
'sku' => 'shirt',
'title' => 'Shirt',
'description' => 'A nice shirt in blue color.',
'price' => 19.99,
])->attributes(['data-row' => 'name']);
echo $table;
use Tobento\Service\Table\Table;
use Tobento\Service\Table\TableRenderer;
$table = new Table(
name: 'products',
renderer: new TableRenderer(),
);
$table->attributes(['data-id' => 'value']);
$table->row([
'sku' => 'Sku',
'title' => 'Title',
'description' => 'Description',
'price' => 'Price',
])->heading();
$table->row([
'sku' => 'shirt',
'title' => 'Shirt',
'description' => 'A nice shirt in blue color.',
'price' => 19.99,
])->attributes(['data-row' => 'name']);
echo $table;
use Tobento\Service\Table\RendererInterface;
use Tobento\Service\Table\TableInterface;
class CustomRenderer implements RendererInterface
{
/**
* Render the table.
*
* @param TableInterface $table
* @return string
*/
public function render(TableInterface $table): string
{
// create the your custom table ...
return 'table';
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.