asm/php-utilities

具有数据容器、集合对象、YAML配置加载器和计时器的PHP工具

v3.0.1 2018-08-20 09:36 UTC

README

Build Status Scrutinizer Code Quality Code Coverage SensioLabsInsight

关于

这个库旨在帮助解决一些常见的简单问题,例如有一个可以继承的对象类型,具有内部数据存储以将其转换为JSON或数组...

使用方法

关于如何使用这些类的许多示例可以在UnitTests中找到。整个集合经过了广泛的测试,因此相当稳定。请随时贡献,提出更改或帮助使其变得更好。

内容

您将获得以下相互关联的类组:

数据

这部分由两个不同的类组成

  • Data是一个数据存储,您可以在其中轻松地存储和检索数据。
  • DataCollection是一个容器,用于存放对象、可迭代对象等。

配置

在这里,您得到一个静态工厂,可以根据Data类生成三种类型的配置对象。所有配置对象都将yaml文件作为源,并通过get/set方法提供易于访问。请参阅UnitTests中的示例。可用类型包括:

  • ConfigDefault - 基本配置对象,存储yaml内容“原样”,提供get/set。
  • ConfigEnv - 提供获取环境合并配置的可能性。基于当前提供的env,您将获得例如prod -> dev合并,以prod节点作为主节点。
  • ConfigTimer是针对Timer类的预生成DateTime对象的专用配置。

配置现在也支持来自symfony配置的“导入”语法。

imports:
    - { resource: defaults.yml }

所有配置中都有可能使用“默认”节点,除了计时器,它将用作合并基础。导入的配置将被视为“默认”节点,并也成为合并的基础。合并的顺序是导入 -> 默认 -> prod -> $env。

计时器

提供检查当前是否有假期、是否可以配置“计时器”来检查例如您的热线是否应该可用等功能。可以在TestData和UnitTests中找到广泛的示例。

测试

TestData仅用于为Config和Timer提供配置。请查看YAML配置示例。