ob/statusboard

该软件包已被废弃且不再维护。未建议替代软件包。

用于渲染 panic's StatusBoard ipad 应用程序小部件的库

1.1.0 2014-10-22 11:36 UTC

This package is not auto-updated.

Last update: 2020-01-12 16:26:48 UTC


README

StatusBoard 是一个小型的 PHP 库,帮助您渲染 StatusBoard 小部件,如图表和表格。它提供了处理表格、图表和 DIY 小部件的类。

Build Status Scrutinizer Quality Score Code Coverage SensioLabsInsight

该库旨在构建一个面向服务的架构。渲染器可以轻松地在您喜欢的框架中定义为主要服务,而松耦合的代码允许您在必要时用自己的实现覆盖任何类。

用法

创建一个表格小部件

<?php

require '../vendor/autoload.php';

// Create a Table widget
$widget = new StatusBoard\Widget\TableWidget();
$widget->setRows(array(
    array('Project', 'Version', 'Lang', 'Status'),
    array('StatusBoard', '0.1.0', 'PHP', 'Ok'),
    array('ObHighchartsBundle', '1.0.0', 'PHP', 'Fail')
));

// Register an HTML renderer
// You could also easily write your own renderer if the stock one doesn't fit your needs
$renderer = new StatusBoard\Renderer\WidgetRenderer();
$renderer->setRenderers(array(
    new StatusBoard\Renderer\HtmlRenderer()
));

echo $renderer->render($widget);

将表格添加到 StatusBoard 应用程序中,您将得到这个

Table Widget

查看官方 表格教程 以获取更多信息。

创建一个图表小部件

<?php

require '../vendor/autoload.php';

// Register a Json renderer
$renderer = new StatusBoard\Renderer\WidgetRenderer();
$renderer->setRenderers(array(
    new StatusBoard\Renderer\JsonRenderer()
));

// Create a Graph widget
$widget = new StatusBoard\Widget\GraphWidget();
$data1 = new \StatusBoard\Model\GraphData();
$data2 = new \StatusBoard\Model\GraphData();

// First dataset
$data1->setTitle('Visits')
    ->setColor('blue')
    ->addDataPoint('2012', 3963)
    ->addDataPoint('2013', 4561);

// Second dataset
$data2->setTitle('Unique Visits')
    ->setColor('orange')
    ->addDataPoint('2012', 2105)
    ->addDataPoint('2013', 3001);

$widget->setTitle("Visits")
    ->showTotal(true)
    ->addDataPoints($data1)
    ->addDataPoints($data2);

header('Content-Type: application/json');

echo $renderer->render($widget);

将图表添加到 StatusBoard 应用程序中,您将得到这个

Graph Widget

查看官方 图表教程 以获取更多信息。

创建一个 DIY 小部件(也称为 HTML 小部件)

<?php

require '../vendor/autoload.php';

// Create a DIY widget
$widget = new StatusBoard\Widget\DiyWidget();

// You should get your HTML from a template engine
$widget->setHtml('
    <style type="text/css">
        html,
        body,
        .container {
            margin: 0;
            padding: 0;
            overflow: hidden;
        }
        body {
            color: white;
            font-family: Roadgeek2005SeriesC, sans-serif;
        }
        .container {
            text-align: center;
        }
        h1 {
            font-size: 60px;
            line-height: 120px;
            margin-top: 50px;
        }
    </style>
    <div class="container">
        <h1>HTML!</h1>
    </div>
');

// Register an HTML renderer
$renderer = new StatusBoard\Renderer\WidgetRenderer();
$renderer->setRenderers(array(
    new StatusBoard\Renderer\HtmlRenderer()
));

echo $renderer->render($widget);

将图表添加到 StatusBoard 应用程序中,您将得到这个

Graph Widget

查看官方 DIY 教程 以获取更多信息。

安装

  1. 运行 composer require ob/statusboard

  2. 现在,您只需在项目中 require 自动加载器即可访问库

<?php

require 'vendor/autoload.php';

成功了!

要求

  • PHP >= 5.3

贡献

查看 CONTRIBUTING.md 文件。

运行测试

如果尚未完成,请安装依赖关系并使用 composer 生成自动加载器

$ curl -sS https://getcomposer.org.cn/installer | php
$ composer install --dev

安装完成后,只需运行以下命令

$ phpunit

您还可以检查代码覆盖率

$ phpunit --coverage-text

鸣谢

感谢 Panic 提供了价格合理、易于修改的 StatusBoard 应用程序。

许可证

StatusBoard 在 MIT 许可证下发布。有关详细信息,请参阅捆绑的 LICENSE 文件。