phpgt / typesafegetter
一个用于暴露类型安全获取方法的对象的接口。
v1.3.2
2023-04-28 14:42 UTC
Requires
- php: >=8.0
Requires (Dev)
- phpmd/phpmd: ^2.13
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.1
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-08-28 19:12:59 UTC
README
在PHP.Gt仓库中,无论何时一个对象表示封装的数据,都会使用一致的接口以类型安全的方式暴露数据。
此接口定义了以下方法
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
函数还允许将回调作为类型参数传递,以便构建更复杂的可空类型。