netherphp/common

遍处都需要的有用事物。

v5.0.35 2024-06-18 21:20 UTC

README

Packagist Build Status codecov

一系列事物,它们作为自己的库没有意义,但通常在每个项目中的某个时刻都是必需的。

值得注意的类

use Nether\Common;

Common\Prototype

提供默认构造函数的基类,旨在从键值数据集中填充对象,例如从数据库查询结果行返回的数组。默认情况下还提供对所有属性处理包的访问权限。

Common\Datastore

数据存储对象,以便可以通过面向对象接口和许多常用方法操作数据数组,从而可以操作当前数据集或返回包含修改后数据集的新数据存储。

Common\PasswordTester

可以根据一些可以自定义的规则验证密码是否足够复杂的工具。它还可以解释为什么它未能通过。

Common\Units\Bytes

当给定字节数的文件大小时,可以以选择的单位(例如:MB 或 MiB)以人类可读的格式打印信息。

Common\Units\Timeframe

当给定两个日期时,可以以选择的格式打印它们之间多少时间,可以处理时间以来和时间直到。

值得注意的特质

use Nether\Common;

Common\Package\ClassInfoPackage

将其附加到类以提供读取分配给类的属性的访问权限。

Common\Package\MethodInfoPackage

将其附加到类以提供读取类内方法的属性的访问权限。

Common\Package\PropertyInfoPackage

将其附加到类以提供读取类内属性的属性的访问权限。

开发者说明

  • PHP 常量: UNIT_TEST_GO_BRRRT=TRUE
  • if(defined('UNIT_TEST_GO_BRRRT'))

此常量由 phpunit.xml 文件定义,一些代码使用它来改变测试套件运行时的行为。主要是一些设计为 exit() 的代码似乎会导致 PHPUnit 爆炸。

  • 环境变量: UNIT_TEST_HITS_HARD=1
  • if(isset($_ENV['UNIT_TEST_HITS_HARD']))

此变量由 Github Actions phpunit.yaml 文件定义。当定义时,将允许某些单元测试更加努力地尝试达到完全覆盖率,这包括执行系统更改任务以确保它们工作。