phpgt/typesafegetter

一个用于暴露类型安全获取方法的对象的接口。

v1.3.2 2023-04-28 14:42 UTC

README

在PHP.Gt仓库中,无论何时一个对象表示封装的数据,都会使用一致的接口以类型安全的方式暴露数据。

Build status Code quality Code coverage Current version PHP.Gt/TypeSafeGetter documentation

此接口定义了以下方法

  • get(string $name):mixed - 一个非类型安全的获取器,用于获取非内置类型的键
  • getString(string $name):?string
  • getInt(string $name):?int
  • getFloat(string $name):?float
  • getBool(string $name):?bool
  • getDateTime(string $name):?DateTimeInterface
  • getInstance(string $name, class-string<T> $className):?T

此接口常见使用场景

  • 数据库行
  • 用户输入(来自查询字符串或提交的表单数据)
  • 会话和cookie存储
  • PHP.Gt的DataObject仓库。

NullableTypeSafeGetter特性

在PHP.Gt中,许多使用此类的仓库都重复了相同的获取代码,因此引入了此特性以消除重复。实现了接口的所有获取函数,引入了一个受保护的辅助函数getNullableType,该函数消除了在类型转换之前检查null值的重复。getNullableType函数还允许将回调作为类型参数传递,以便构建更复杂的可空类型。