PHP uses a nominal type system with a strong behavioral subtyping relation. The subtyping relation is checked at compile time whereas the verification of types is dynamically checked at run time.
PHP 的类型系统支持各种原子类型,可以组合在一起创建更加复杂的类型。其中一些类型可以写成类型声明。
一些原子类型是内置类型,跟语言紧密集成,不能用用户定义类型重现(reproduced)。
基础类型列表是:
可以将多个原子类型组合为复合类型。PHP 允许使用以下方式组合类型:
交集类型接受满足多个类类型声明的值,而不是单个值。交集类型中的每个类型由 &
符号连接。因此,类型 T
、U
和 V
组成的交集类型将写成 T&U&V
。
联合类型接受多个不同类型的值,而不是单个类型。联合类型中的每个类型由 |
符号连接。因此类型 T
、U
和 V
的联合类型写成 T|U|V
。如果其中一种类型是交集类型,需要使用括号括起来,在
DNF 中写成:T|(X&Y)
。