进入 nav导航


123123 官方发布-文章系统
66| 查看详情 | 编辑更新

PHP8 类型系统

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)。

基础类型列表是:

  • 内置类型

  1. null 类型

  2. 标量类型:bool 类型;int 类型;float 类型;string 类型

  3. array 类型

  4. object 类型

  5. resource 类型

  6. never 类型

  7. void 类型

  8. 相对类类型:self、parent 和 static

  • 字面量类型

  1. false

  2. true

  • 用户定义的类型(通常称为类类型)接口类枚举

  • callable 类型

复合类型

可以将简单类型组合为复合类型。PHP 允许使用以下方式组合类型:

  • 类类型(接口和类名)的交集。

  • 类型联合。

交集类型

交集类型接受满足多个类类型声明的值,而不是单个值。交集类型中的每个类型由 & 符号连接。因此,类型 T、U 和 V 组成的交集类型将写成 T&U&V。

联合类型

联合类型接受多个不同类型的值,而不是单个类型。联合类型中的每个类型由 | 符号连接。因此类型 T、U 和 V 的联合类型写成 T|U|V。如果其中一种类型是交集类型,需要使用括号括起来,在 DNF 中写成:T|(X&Y)。

类型别名

PHP 支持两种类型别名:mixed 和 iterable,分别对应 object|resource|array|string|float|int|bool|null 和 Traversable|array 的 联合类型。

注意: PHP 不支持用户定义类型别名。



|发布人 : 1 发布时间: 1970-01-01 08:33
|留言发给站长
Column 1 Column 2 Column 3
R1C1 R1C2 R1C3
Item Item Item
























---------------









右边分栏
dfasdfa
Flex item 2
Flex item 3














0.031181s