vesihiisi/ctable

HTML表格生成器

v6.0 2016-02-17 15:37 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:26:14 UTC


README

简介

Ctable 是一个用于从数组中的数据生成 HTML 表格的 PHP 类。它是作为瑞典布莱金厄理工学院 DV1486 PHP 和 MVC 框架数据库 Web 应用程序课程的一部分创建的。

它旨在与 Anax MVC 一起使用,但不依赖于它。它可以包含在任何其他项目中。

如何安装

要从 Packagist 安装 CTable,请将以下行添加到您的 composer.json 文件中

"require": {
    ...
    "vesihiisi/ctable": "dev-master"
}

如果您正在使用 Anax-MVC,可以使用此存储库中包含的示例文件来测试 CTable 与框架一起的工作方式。将页面控制器 webroot/tables.php 和样式表 css/tables.css 放入您的 own webroot 目录中,并将浏览器指向控制器。

如何使用

如何创建表格

您要在表格中显示的数据应该是数组数组的数组。每个内部数组对应于一行表格。所有行一起收集在外部数组中

$rows = array(
    array("Row 1 value 1", "Row 1 value 2", "Row 1 value 3", "Row 1 value 4",),
    array("Row 2 value 1", "Row 2 value 2", "Row 2 value 3", "Row 2 value 4",),
    array("Row 3 value 1", "Row 3 value 2", "Row 3 value 3", "Row 3 value 4",),
    array("Row 4 value 1", "Row 4 value 2", "Row 4 value 3", "Row 4 value 4",),
    array("Row 5 value 1", "Row 5 value 2", "Row 5 value 3", "Row 5 value 4",),
    );

然后您可能想添加表格标题,也可以作为数组。这不是必需的 - 如果您不这样做,您的数据的第一行将用作标题。

$headers = array(
    "Header 1", "Header 2", "Header 3", "Header 4",
    );

现在您可以创建表格对象并输入数据。这是在 Anax MVC 中如何做到的

$table = new \Vesihiisi\CTable\CTable([
    'rows' => $rows,
    'headers' => $headers,
    ]);

一旦创建了对象,您也可以逐个添加新行

$table->addRow(["Extra row value 1", "Extra row value 2", "Extra row value 3", "Extra row value 4"]);

最后,为了实际渲染表格,您必须使用对象的 View() 方法并在视图中显示结果

    $app->views->add('default/page', [
    'content' => $table->View(),
    'title' => "Demonstration of tables in HTML"
]);

可选元素

您可能希望向表格添加一些可选元素。

页脚 内容可以在创建对象之前定义。然后,将其提供给对象,就像您对 $data$headers 变量所做的那样

$footer = array(
    "Footer 1", "Footer 2", "Footer 3", "Footer 4",
    );

您也可以在创建对象之后定义它

$table->setFooters(["Footer 1", "Footer 2", "Footer 3", "Footer 4"]);

表格标题<caption> 标签)也可以以两种方式创建

$caption = "Example data";

$table->setCaption("Example data");

CSS 类和 ID 可以添加到 <table> 标签中。这些也可以以两种方式创建

$classes = array(
    "someClass",
    "anotherClass",
    );
$id = "table01";

$table->setClass(["someClass", "anotherClass"]);
$table->setID("table01");

许可

此软件是免费软件,带有 MIT 许可证。

Build Status Scrutinizer Code Quality Code Coverage Code Climate Issue Count Total Downloads Latest Stable Version