预定义常量

以下常量由此扩展定义,并且仅在将此扩展编译到 PHP 中或在运行时动态加载后才可用。

以下操作码在 uopz 5.0.0 之前被定义为常量

ZEND_EXIT (int)
由 exit() 和 die() 调用,不接收任何参数。返回值布尔型 true 以退出,false 以继续
ZEND_NEW (int)
由对象构造调用,接收正在创建的对象的类作为唯一参数
ZEND_THROW (int)
由 throw 结构调用,接收正在抛出的异常的类作为唯一参数
ZEND_FETCH_CLASS (int)
在组合时调用,接收正在获取的类的名称作为唯一参数
ZEND_ADD_TRAIT (int)
在组合时调用,接收正在添加特性的类作为第一个参数,并接收特性的名称作为第二个参数
ZEND_ADD_INTERFACE (int)
在组合时调用,接收正在添加接口的类作为第一个参数,并接收接口的名称作为第二个参数
ZEND_INSTANCEOF (int)
由 instanceof 运算符调用,接收正在验证的对象作为第一个参数,并接收该对象应该属于的类的名称作为第二个参数

以下常量控制用户处理程序被调用后 VM 的行为,请务必小心!这些常量在 uopz 5.0.0 中被移除。

ZEND_USER_OPCODE_CONTINUE (int)
前进 1 个操作码并继续
ZEND_USER_OPCODE_ENTER (int)
进入新的 op_array 而不进行递归
ZEND_USER_OPCODE_LEAVE (int)
返回到同一个执行器中的调用 op_array
ZEND_USER_OPCODE_DISPATCH (int)
调度到原始操作码处理程序
ZEND_USER_OPCODE_DISPATCH_TO (int)
调度到特定处理程序(OR'd with ZEND 操作码常量)
ZEND_USER_OPCODE_RETURN (int)
退出执行器(从函数返回)

以下修饰符由 uopz 注册为常量

ZEND_ACC_PUBLIC (int)
将函数标记为公共,默认值
ZEND_ACC_PROTECTED (int)
将函数标记为受保护
ZEND_ACC_PRIVATE (int)
将函数标记为私有
ZEND_ACC_STATIC (int)
将函数标记为静态
ZEND_ACC_FINAL (int)
将函数标记为最终
ZEND_ACC_ABSTRACT (int)
将函数标记为抽象
ZEND_ACC_CLASS (int)
为了保持一致性而注册的虚拟,默认的类条目类型。在 uopz 5.0.0 中被移除。
ZEND_ACC_INTERFACE (int)
将类标记为接口。在 uopz 5.0.0 中被移除。
ZEND_ACC_TRAIT (int)
将类标记为特性。在 uopz 5.0.0 中被移除。
ZEND_ACC_FETCH (int)
用于仅获取标志。在 uopz 5.0.0 中被移除。

添加注释

用户贡献的注释 1 个注释

ASchmidt at Anamera dot net
6 年前
至少在 uops 5.02 和 PHP 7.2(Win64)中,常量 ZEND_ACC_FETCH 未定义 - 而其他常量已定义。

您可以使用

if ( !defined( 'ZEND_ACC_FETCH' ) )
define( 'ZEND_ACC_FETCH', PHP_INT_MAX );
To Top