skript.cc/php-utils

0.1.0 2019-10-15 10:00 UTC

This package is not auto-updated.

Last update: 2024-09-22 14:51:35 UTC


README

PHP 工具和单仓库实验。

目标

这个仓库的目标是什么?

  1. 学习。 编写代码是通过实践来学习的一种方式。你写的代码可能最终并不是非常有用,但写作的过程可能带来新的见解。独立编写工具函数会让你对自己的行为进行更多反思。例如,因为你必须考虑工具函数的附加值,这是否合理?
  2. 作为参考。 有时候你只需要提醒如何实现某事。在没有翻阅先前项目的情况下查找某物会更好。
  3. 捆绑一次性函数,这些函数通常是从项目复制到项目。DRY 部分。你知道的。重用性的圣杯。有时候你想写一次然后在不同地方使用。

非目标是什么?

  • 它不旨在成为一个功能完整的库

添加 utilies 的指南

何时添加一个 'utility'?什么是有意义的,什么是没有意义的?

有意义的

  • 当工具简化了复杂操作时
  • 当工具使操作更具描述性时

没有意义的

  • 当工具重复了已经可以实现的东西。如果工具使操作更具描述性,这可能也可以。在这种情况下,尝试创建一个简单的别名。

单仓库设置

架构:每个包在 packages/ 目录下都有一个自己的 composer.json 文件。每个包都可以连接到自己的 gitremote。这也让 Packagist 很高兴!

可以从单仓库进行开发。单仓库构建器有一个分割命令,用于将更改同步到各个 git remote(这可以通过 ci 脚本自动化)。

单仓库构建器

单仓库构建器基本上有两个操作:合并和分割。

  • 合并:从每个包的 composer 文件合并到根 composer.json 文件中指定部分。
  • 分割:将每个包同步到其各自的远程仓库

另一个有用的操作是发布。

  • 发布:增加相互依赖的包的版本,添加标签,更新主要变更日志。将更改推送到主仓库,但你需要再次运行分割以将更改推送到子包远程仓库。

注意

PHP 文档器似乎与新语言特性有问题。它在 filesystem/src/functions.php 中的多个导入声明和可空类型提示上会出错。

在命令行上运行时,它会显示所有 PHP 警告和通知(但这可能也与我自己的 PHP 设置有关)。