发布于 2026-01-06 1 阅读
0

PHP 库和工具 DEV 全球展示挑战赛,由 Mux 呈现:展示你的项目!

PHP库和工具

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

介绍

我们希望在 Filmin 启动的新项目能够稳定可靠。因此,除了遵循良好的编码规范外,我们还考察了一些能够帮助我们提升项目质量的 PHP 库和工具。

以下是我们分析的工具列表,以及它们在 Github 存储库中的描述,不包括众所周知的工具或库,例如 PHPUnit。

这些工具大多是命令行界面 (CLI) 命令,因此可以集成到持续集成/持续交付 (CI/CD) 流程中。其他一些工具可以集成到集成开发环境 (IDE) 中,例如 PHPStorm 中的 Psalm 或 PHPStan。还有一些是我们项目中使用的库。

这份清单基于我们的经验,并深受以下因素影响:

图书馆

  • brick/date-time:PHP 的日期和时间库
  • thecodingmachine/safe:所有 PHP 函数都已重写,现在会抛出异常而不是返回 false,支持 PHP8。
  • 战术家:一个小型、灵活的指挥总线
  • ronanguilloux/isocodes:PHP 库 - 用于验证 ISO、国际金融、公共管理、GS1、制造业、多个国家/地区的电话号码和邮政编码等标准的验证器
  • 盒子/喷嘴:以快速且可扩展的方式读取和写入电子表格文件(CSV、XLSX 和 ODS)。
  • league/flysystem:本地和远程文件系统的抽象
  • 序列化器:
    • Symfony 序列化器组件:序列化器组件旨在将对象转换为特定格式(XML、JSON、YAML 等),反之亦然。
    • JMS 序列化器:该库允许您序列化和反序列化任意复杂度的数据。目前,它支持 XML 和 JSON。
    • Fractal:Fractal 为复杂的数据输出(例如 RESTful API 中的数据)提供了一个展示和转换层,并且与 JSON 配合使用效果非常好。您可以将其视为 JSON/YAML 等数据的视图层。

工具

代码质量

测试

作曲工具

  • ComposerRequireChecker:一个命令行工具,用于检查特定的 Composer 包是否使用了并非其直接 Composer 依赖项一部分的导入符号。
  • composer-unused:通过扫描代码显示未使用的 Composer 依赖项
  • composer-normalize:提供一个用于规范化 composer.json 的 composer 插件。

安全

一般的

  • Robo:适用于 PHP 的现代化任务运行器
  • CaptainHook:一款非常灵活的 PHP 开发人员 Git 钩子管理器

结论

PHP 社区编写了大量工具,可以帮助我们提高项目质量,并简化开发人员的工作。我们需要选择最适合我们项目和使用场景的工具。

你呢?你知道有哪些不在列表中的有趣工具吗?

文章来源:https://dev.to/filmineng/php-libraries-and-tools-3blf