szymach/c-pchart

将 "pChart" 库移植到 PHP 5+

v3.0.17 2023-05-27 11:12 UTC

README

支持

本项目仅提供基本支持,不会引入新功能。如果有需要,问题和建议将被审查和解决,因此请随时提交。

构建状态

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

关于

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

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

所做的工作

  • 支持从 PHP 5.4 到 8.1 的版本。

  • 完全移植了库的功能。我对实际逻辑的修改很少,因此原始库的大部分代码应该可以工作。

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

  • 将所有 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

用法

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

通过 Image 类创建的图表

大部分的基本图表是通过 CpChart\Image 类的方法创建的。以下是可以找到这些图表的完整列表以及示例代码。

独立图表

更高级的图表有自己的独立类,您需要使用此类来创建它们。和以前一样,以下是可以找到的完整列表,以及示例代码。

条形码

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

缓存

如果您发现自己多次从一组数据中创建图表,您可以考虑使用库的缓存组件。请转到文档的专门部分,了解如何进行。

字体和调色板

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

参考

原始 pChart 网站

链接

GitHub

Packagist