PHP8 预定义常量
下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。
在uopz版本5.0.0之前,以下操作码被定义为常量:
1. ZEND_EXIT
(int)
- 被exit()和die()调用,不接收参数。
- 返回true表示退出,false表示继续执行。
2. ZEND_NEW
(int)
- 被对象构造调用,接收被创建对象的类名作为唯一参数。
3. ZEND_THROW
(int)
- 被throw语句调用,接收抛出的异常类名作为唯一参数。
4. ZEND_FETCH_CLASS
(int)
- 在类组合时调用,接收正在获取的类名作为唯一参数。
5. ZEND_ADD_TRAIT
(int)
- 在类组合时调用,接收被添加trait的类名作为第一个参数,trait的名称作为第二个参数。
6. ZEND_ADD_INTERFACE
(int)
- 在类组合时调用,接收被添加接口的类名作为第一个参数,接口的名称作为第二个参数。
7. ZEND_INSTANCEOF
(int)
- 被instanceof操作符调用,接收待验证的对象作为第一个参数,以及对象应该是哪个类的名称作为第二个参数。
以下常量用于控制用户处理程序调用后的虚拟机行为,要非常小心使用!从uopz 5.0.0开始,这些常量已被移除:
1. ZEND_USER_OPCODE_CONTINUE
(int)
- 前进1个操作码并继续执行。
2. ZEND_USER_OPCODE_ENTER
(int)
- 进入新的op_array而不进行递归。
3. ZEND_USER_OPCODE_LEAVE
(int)
- 返回到相同执行器内的调用op_array。
4. ZEND_USER_OPCODE_DISPATCH
(int)
- 调度到原始操作码处理程序。
5. ZEND_USER_OPCODE_DISPATCH_TO
(int)
- 调度到特定处理程序(与ZEND操作码常量进行OR操作)。
6. ZEND_USER_OPCODE_RETURN
(int)
- 退出执行器(从函数返回)。
以下修饰符由uopz注册为常量:
1. ZEND_ACC_PUBLIC
(int)
- 将函数标记为public,这是默认值。
2. ZEND_ACC_PROTECTED
(int)
- 将函数标记为protected。
3. ZEND_ACC_PRIVATE
(int)
- 将函数标记为private。
4. ZEND_ACC_STATIC
(int)
- 将函数标记为static。
5. ZEND_ACC_FINAL
(int)
- 将函数标记为final。
6. ZEND_ACC_ABSTRACT
(int)
- 将函数标记为abstract。
7. ZEND_ACC_CLASS
(int)
- 为了保持一致性而注册的虚拟常量,代表默认类条目的种类。从uopz 5.0.0开始移除。
8. ZEND_ACC_INTERFACE
(int)
- 将类标记为接口。从uopz 5.0.0开始移除。
9. ZEND_ACC_TRAIT
(int)
- 将类标记为trait。从uopz 5.0.0开始移除。
10. ZEND_ACC_FETCH
(int)
- 仅用于获取标志位。从uopz 5.0.0开始移除。