# 语言参考

- 基本语法
  - PHP 标签
  - 从 HTML 中分离
  - 指令分隔符
  - 注释
- 类型
  - 简介
  - 类型系统
  - NULL
  - Boolean 布尔类型
  - Integer 整型
  - Float 浮点型
  - String 字符串
  - 数字字符串
  - Array 数组
  - Object 对象
  - Enum 枚举
  - Resource 资源类型
  - Callable
  - Mixed
  - Void
  - Never
  - 相对类类型
  - 单例类型
  - Iterable 可迭代对象
  - 类型声明
  - 类型转换
- 变量
  - 基础
  - 预定义变量
  - 变量作用域
  - 可变变量
  - 来自 PHP 之外的变量
- 常量
  - 语法
  - 预定义常量
  - 魔术常量
- 表达式
- 运算符
  - 运算符优先级
  - 算术 — 算术运算符
  - 递增/递减 — 递增/递减运算符
  - 赋值 — 赋值运算符
  - 位 — 位运算符
  - 比较 — 比较运算符
  - 错误控制 — 错误控制运算符
  - 执行 — 执行运算符
  - 逻辑 — 逻辑运算符
  - 字符串 — 字符串运算符
  - 数组 — 数组运算符
  - 类型 — 类型运算符
  - 函数式 — 函数式运算符
- 流程控制
  - 简介
  - if
  - else
  - elseif/else if
  - 流程控制的替代语法
  - while
  - do-while
  - for
  - foreach
  - break
  - continue
  - switch
  - match
  - declare
  - return
  - require
  - include
  - require_once
  - include_once
  - goto
- 函数
  - 用户自定义函数
  - 函数的参数和参数值
  - 返回值
  - 可变函数
  - 内部（内置）函数
  - 匿名函数
  - 箭头函数
  - 一级可调用语法
- 类与对象
  - 简介
  - 基本概念
  - 属性
  - Property Hooks
  - 类常量
  - 类的自动加载
  - 构造函数和析构函数
  - 访问控制（可见性）
  - 对象继承
  - 范围解析操作符 （::）
  - 静态（static）关键字
  - 抽象类
  - 对象接口
  - Trait
  - 匿名类
  - 重载
  - 遍历对象
  - 魔术方法
  - Final 关键字
  - 对象复制
  - 对象比较
  - 后期静态绑定
  - 对象和引用
  - 对象序列化 — 序列化对象 - 在会话中存放对象
  - 协变与逆变
  - 延迟对象
  - OOP 变更日志
- 概述 — 命名空间概述
  - 命名空间概述
  - 命名空间 — 定义命名空间
  - 子命名空间 — 定义子命名空间
  - 在一个文件中定义多个命名空间 — 在同一个文件中定义多个命名空间
  - 基础 — 使用命名空间：基础
  - 命名空间和动态语言特征
  - namespace 关键字和 __NAMESPACE__ — namespace 关键字和 __NAMESPACE__ 魔术常量
  - 别名和导入 — 使用命名空间：别名/导入
  - 全局空间
  - 回退到全局空间 — 使用命名空间：回退到全局函数和常量的全局空间
  - 名称解析规则
  - FAQ — FAQ：命名空间必知必会
- 枚举
  - 枚举概览
  - 枚举基础
  - 带值（回退）枚举
  - 枚举方法
  - 枚举静态方法
  - 枚举常量
  - Trait
  - 常量表达式的枚举值
  - 和对象的差异
  - 枚举值清单
  - 序列化
  - 为什么枚举不可扩展
  - 示例
- 错误
  - 基础概要
  - PHP 7 错误处理
- 异常
  - 扩展（extend）异常处理类
- 纤程
- 生成器
  - 生成器总览
  - 生成器语法
  - 生成器与 Iterator 对象的比较
- 注解
  - 注解概览
  - 注解语法
  - 使用反射 API 读取注解
  - 声明注解类
- 引用的解释
  - 引用是什么
  - 引用做什么
  - 引用不是什么
  - 引用传递
  - 引用返回
  - 取消引用
  - 引用定位
- 预定义变量
  - 超全局变量 — 在全部作用域中始终可用的内置变量
  - $GLOBALS — 引用全局作用域中可用的全部变量
  - $_SERVER — 服务器和执行环境信息
  - $_GET — 查询字符串变量
  - $_POST — 来自 HTTP POST 请求的表单数据
  - $_FILES — HTTP 文件上传变量
  - $_REQUEST — HTTP Request 变量
  - $_SESSION — Session 变量
  - $_ENV — 环境变量
  - $_COOKIE — HTTP Cookies
  - $php_errormsg — 前一个错误信息
  - $http_response_header — HTTP 响应头
  - $argc — 传递给脚本的参数数目
  - $argv — 传递给脚本的参数数组
- 预定义异常
  - Exception
  - ErrorException
  - ClosedGeneratorException — ClosedGeneratorException 类
  - Error
  - ArgumentCountError
  - ArithmeticError
  - AssertionError
  - DivisionByZeroError
  - CompileError
  - ParseError
  - TypeError
  - ValueError
  - UnhandledMatchError
  - FiberError
  - RequestParseBodyException
- 预定义接口和类
  - Traversable — Traversable （遍历）接口
  - Iterator — Iterator（迭代器）接口
  - IteratorAggregate — IteratorAggregate（聚合式迭代器）接口
  - InternalIterator — The InternalIterator class
  - Throwable
  - Countable — Countable 接口
  - ArrayAccess — ArrayAccess（数组式访问）接口
  - Serializable — Serializable 接口
  - Closure — Closure 类
  - stdClass — stdClass 类
  - Generator — 生成器类
  - Fiber — 纤程（Fiber）类
  - WeakReference — WeakReference 类
  - WeakMap — WeakMap 类
  - Stringable — Stringable 接口
  - UnitEnum — UnitEnum 接口
  - BackedEnum — BackedEnum 接口
  - SensitiveParameterValue — The SensitiveParameterValue class
  - __PHP_Incomplete_Class — __PHP_Incomplete_Class 类
- 预定义注解
  - Attribute — The Attribute attribute
  - AllowDynamicProperties — AllowDynamicProperties 注解
  - Deprecated — The Deprecated attribute
  - Override — Override 注解
  - ReturnTypeWillChange — ReturnTypeWillChange 注解
  - SensitiveParameter — SensitiveParameter 注解
- 上下文（Context）选项和参数
  - 套接字上下文选项 — 套接字上下文选项列表
  - HTTP context 选项 — HTTP context 的选项列表
  - FTP 上下文选项 — FTP 上下文选项列表
  - SSL 上下文选项 — SSL 上下文选项清单
  - Phar 上下文（context）选项 — Phar 上下文（context）选项列表
  - Context 参数 — Context 参数列表
  - Zip 上下文选项 — Zip 上下文选项列表
  - Zlib 上下文选项 — Zlib 上下文选项列表
- 支持的协议和封装协议
  - file:// — 访问本地文件系统
  - http:// — 访问 HTTP(s) 网址
  - ftp:// — 访问 FTP(s) URLs
  - php:// — 访问各个输入/输出流（I/O streams）
  - zlib:// — 压缩流
  - data:// — 数据（RFC 2397）
  - glob:// — 查找匹配的文件路径模式
  - phar:// — PHP 归档
  - ssh2:// — 安全外壳协议 2
  - rar:// — RAR
  - ogg:// — 音频流
  - expect:// — 处理交互式的流

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open