bgli100/c-pchart

将 "pChart" 库移植到 PHP 5+

v3.0.12 2021-12-01 18:49 UTC

README

支持

本项目以基本方式支持,不会引入新功能。如果有需要,将审查并解决问题和拉取请求,所以请随时发布。

构建状态

  • Build Status master
  • Build Status 3.0
  • Build Status 2.0

关于

这个库是将 Jean-Damien Pogolotti 创建的出色 pChart 统计库移植到 PHP 5+,旨在允许在现代应用程序中使用它。这是通过将 PSR 标准应用于代码、引入命名空间和类型提示以及一些基本的方法注释来实现的。

这是 3.x 版本,它删除了工厂服务和稍微重新组织了文件结构。它不引入任何新功能,但更改与 2.x 分支不兼容。与原始库的 BC 兼容性主要保留,但是如果您不能承担这些风险,仍然可以使用 1.x 版本。

做了什么

  • 支持 PHP 5.4 到 8.0 版本的版本。

  • 完全移植了库的功能。我几乎未接触过实际的逻辑,因此原始库中的大多数代码应该可以正常工作。

  • 定义并添加了所有类的命名空间。

  • 将所有 exit() / die() 命令替换为 throw 语句。

  • 重构代码以符合 PSR-2 标准,并添加了注释(尽可能弄清楚它们),还添加了可能的方法类型提示,因此如果进行了某些奇怪的操作,可能会出现一些向后兼容性中断。

  • 将所有常量移动到单个 文件 中。它将通过 Composer 自动加载,因此无需手动操作。

许可证

之前提到,此包使用的是 MIT 许可证,这不符合原始作者的设置要求。现在它属于 GNU GPL v3 许可证,因此如果您希望在商业项目中使用它,则需要支付 适当的费用

贡献

总的来说,这是一个从 PHP 4 移植的旧库,因此代码既不美观也不容易理解。我已经尽最大努力使其现代化并添加了一些基本测试,但仍有很多工作要做。如果您愿意并有时间修复或改进任何内容,请随时发布 PR 或问题。

安装(通过 Composer)

对于 composer 安装,将以下内容添加到您的 composer.json 文件中并更新您的依赖项。或者您可以在项目根目录中运行

"require": {
    "szymach/c-pchart": "^3.0"
},

$ composer require szymach/c-pchart

用法

了解如何使用库的最佳方式仍然是 官方 wiki。然而,我已经将至少每个图表的一个示例移植到 Markdown 文件中,以便您可以比较每个版本并了解如何使用当前实现。

通过 Image 类创建的图表

大部分基本图表是通过 CpChart\Image 类的方法创建的。以下是一个完整列表,包括示例代码。

独立图表

更高级的图表有自己的单独类,您需要使用该类来创建它们。和之前一样,以下是一个完整列表,包括示例代码。

条形码

pChart 库还提供了一种渲染 39 和 128 条形码的方式。以下可以找到创建它们的文档链接

缓存

如果您发现自己多次使用一组数据创建图表,您可以考虑使用库的缓存组件。请参阅文档的专用部分以获取有关如何操作的信息。

字体和调色板

如果您想使用任何字体或调色板文件,请只提供实际文件的名称,不要在传递给函数的字符串中添加 fontspalettes 文件夹。如果您想从默认目录以外的目录加载它们,您需要添加文件的完整路径(例如 __DIR__.'/folder/to/my/palletes')。

参考文献

原始 pChart 网站

链接

GitHub

Packagist