PHP8 预定义常量

2023-10-08 14:00 更新

下列常量由此扩展定义,且仅在此扩展编译入 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开始移除。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号