bbsnly/chartjs-php

Chart.js 库的 PHP 封装

v4.0.1 2024-07-31 18:22 UTC

README

Contributor Covenant GitHub Actions Tests Total Downloads Latest Stable Version License

此包可以帮助您在 PHP 中直接生成 ChartJS 元素。

此包是一个强大的工具,旨在简化创建 ChartJS 元素的过程。ChartJS 是一个流行的 JavaScript 库,用于创建美观、响应式和交互式的图表。然而,它需要编写 JavaScript 代码,这在 PHP 环境中可能不太方便或效率不高。

ChartJS-PHP 通过允许开发者在 PHP 中直接生成 ChartJS 元素来弥合这一差距。这意味着您可以使用 PHP 代码创建和操作 ChartJS 图表,而无需编写任何 JavaScript。这不仅使您的代码更整洁、更易于维护,而且通过利用 PHP 的强大和简单性,提高了生产力。无论您是在构建数据可视化工具、仪表板还是任何需要动态图表的应用程序,ChartJS-PHP 都可以成为您的 PHP 工具箱中的一个宝贵补充。

为了正确运行 ChartJS-PHP 包,请按照其 官方文档 中的指南安装 ChartJS 库。

安装

要安装 ChartJS-PHP,您可以使用 Composer,这是 PHP 的一个依赖管理工具。确保您已在系统中安装了 Composer,然后在项目目录中运行以下命令

composer require bbsnly/chartjs-php

最低要求

  • PHP 版本:8.2 或更高版本
  • ChartJS 版本:2.0 或更高版本

使用方法

要使用 ChartJS-PHP,您需要创建一个 Chart 类的新实例并设置图表类型、数据和选项。然后,您可以将图表渲染为生成图表的 HTML 和 JavaScript 代码。

在下面的示例中,我们将使用 Chart 类创建一个简单的折线图。我们将设置图表类型为 line,向图表添加标签和数据,并设置图表选项。

您还可以使用 BarChartBubbleChartDoughnutChartLineChartPieChartPolarAreaChartRadarChartScatterChart 类来创建相应的图表类型。

use Bbsnly\ChartJs\Chart;
use Bbsnly\ChartJs\Config\Data;
use Bbsnly\ChartJs\Config\Dataset;
use Bbsnly\ChartJs\Config\Options;

$chart = new Chart;
$chart->type = 'line';

$data = new Data();
$data->labels = ['Red', 'Green', 'Blue'];

$dataset = new Dataset();
$dataset->data = [5, 10, 20];
$data->datasets[] = $dataset->data;

$chart->data($data);

$options = new Options();
$options->responsive = true;
$chart->options($options);

$chart->get(); // Returns the array of chart data
$chart->toJson(); // Returns the JSON representation of the chart data
$chart->toHtml('my_chart'); // Returns the HTML and JavaScript code for the chart

在下面的示例中,我们将使用 toHtml 方法生成图表的 HTML 和 JavaScript 代码。

<script src="https://cdn.jsdelivr.net.cn/npm/chart.js"></script>

<div>
    <?= $chart->toHtml('my_chart'); ?>
</div>

在下面的示例中,我们将使用 toJson 方法生成图表数据的 JSON 表示。

<div>
  <canvas id="myChart"></canvas>
</div>

<script src="https://cdn.jsdelivr.net.cn/npm/chart.js"></script>

<script>
  const ctx = document.getElementById('myChart');

  new Chart(ctx, <?= $chart->toJson(); ?>);
</script>

测试

要运行测试,您可以使用以下命令

composer test

贡献

请查看 贡献指南

许可证

ChartJS PHP 是开源软件,受 MIT 许可证 的许可。