PHP 使用的是名义类型系统,具有强大的行为子类型关系。子类型关系在编译时检查,而类型的验证则在运行时动态检查。
PHP 的类型系统支持各种原子类型,这些原子类型可以组合在一起以创建更复杂的类型。其中一些类型可以写成类型声明。
一些原子类型是内置类型,它们与语言紧密集成,无法用用户定义的类型来复制。
基本类型列表:
可以将多个原子类型组合成复合类型。PHP允许以以下方式组合类型:
交集类型接受满足多个类类型声明的值,而不是单个值。构成交集类型的各个类型由&
符号连接。因此,由类型T
、U
和V
组成的交集类型将写成T&U&V
。
联合类型接受多种不同类型的值,而不是单个值。构成联合类型的各个类型由|
符号连接。因此,由类型T
、U
和V
组成的联合类型将写成T|U|V
。如果其中一个类型是交集类型,则需要用括号括起来才能以DNF形式编写:T|(X&Y)
。