phpgt/typesafegetter

为暴露类型安全获取方法的对象提供一个接口。

资助包维护!
PhpGt

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 函数还允许传递一个回调作为类型参数,允许构建更复杂的可空类型。