NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
# uopz扩展 uopz-Zend的用户操作-扩展提供了通常在编译和执行时使用的Zend Engine功能,以便允许修改表示PHP代码的内部结构,并允许用户代码与VM交互。 uopz支持以下活动: - 重载某些操作码,包括ZEND\_EXIT和ZEND\_NEW - 备份和还原功能及方法 - 重命名功能和方法 - 复制函数和方法 - 删除功能和方法 - 重新定义全局和类常量 - 删除全局和类常量 - 运行时组成和类修改 > **注意事项**: > 支持的所有活动均与opcache兼容 ## 要求 uopz 2需要PHP 5.4+。uopz 5.0需要PHP7。从uopz 5.1开始,需要PHP 7.1+。 下载:<https://pecl.php.net/package/uopz>. ## **运行时配置** 名字默认可修改范围更新日志描述[uopz.disable](https://www.php.net/manual/zh/uopz.configuration.php#ini.uopz.disable)"0"PHP\_INI\_SYSTEMAvailable as of uopz 5.0.2如果启用,则uopz应该停止对引擎产生任何影响[uopz.exit](https://www.php.net/manual/zh/uopz.configuration.php#ini.uopz.exit)"0"PHP\_INI\_SYSTEMAvailable as of uopz 6.0.1是否允许执行退出操作码。可以在运行时通过调用[uopz\_allow\_exit()](https://www.php.net/manual/en/function.uopz-allow-exit.php)覆盖此设置# 函数 [uopz\_add\_function](https://www.php.net/manual/en/function.uopz-add-function.php)—添加不存在的函数或方法 [uopz\_allow\_exit-](https://www.php.net/manual/en/function.uopz-allow-exit.php)允许控制已禁用的退出操作码 [uopz\_backup](https://www.php.net/manual/en/function.uopz-backup.php)—备份功能 [uopz\_compose](https://www.php.net/manual/en/function.uopz-compose.php)—组成一个类 [uopz\_copy](https://www.php.net/manual/en/function.uopz-copy.php)—复制函数 [uopz\_del\_function](https://www.php.net/manual/en/function.uopz-del-function.php)—删除以前添加的函数或方法 [uopz\_delete](https://www.php.net/manual/en/function.uopz-delete.php)—删除函数 [uopz\_extend](https://www.php.net/manual/en/function.uopz-extend.php)—在运行时扩展类 [uopz\_flags](https://www.php.net/manual/en/function.uopz-flags.php)—在函数或类上获取或设置标志 [uopz\_function](https://www.php.net/manual/en/function.uopz-function.php)—在运行时创建一个函数 [uopz\_get\_exit\_status](https://www.php.net/manual/en/function.uopz-get-exit-status.php)—检索上一个设置的退出状态 [uopz\_get\_hook](https://www.php.net/manual/en/function.uopz-get-hook.php)—获取先前设置的函数或方法的挂钩 [uopz\_get\_mock](https://www.php.net/manual/en/function.uopz-get-mock.php)—获取一个类的当前模拟 [uopz\_get\_property](https://www.php.net/manual/en/function.uopz-get-property.php)—获取类或实例属性的值 [uopz\_get\_return](https://www.php.net/manual/en/function.uopz-get-return.php)—获取函数的先前设置的返回值 [uopz\_get\_static](https://www.php.net/manual/en/function.uopz-get-static.php)—从函数或方法范围获取静态变量 [uopz\_implement](https://www.php.net/manual/en/function.uopz-implement.php)—在运行时实现接口 [uopz\_overload](https://www.php.net/manual/en/function.uopz-overload.php)—重载VM操作码 [uopz\_redefine](https://www.php.net/manual/en/function.uopz-redefine.php)—重新定义一个常量 [uopz\_rename](https://www.php.net/manual/en/function.uopz-rename.php)—在运行时重命名函数 [uopz\_restore](https://www.php.net/manual/en/function.uopz-restore.php)—恢复以前备份的功能 [uopz\_set\_hook](https://www.php.net/manual/en/function.uopz-set-hook.php)—设置在输入函数或方法时执行的挂钩 [uopz\_set\_mock](https://www.php.net/manual/en/function.uopz-set-mock.php)—对新对象使用模拟代替类 [uopz\_set\_property](https://www.php.net/manual/en/function.uopz-set-property.php)—设置现有类或实例属性的值 [uopz\_set\_return](https://www.php.net/manual/en/function.uopz-set-return.php)—为现有函数提供返回值 [uopz\_set\_static](https://www.php.net/manual/en/function.uopz-set-static.php)—在函数或方法范围内设置静态变量 [uopz\_undefine](https://www.php.net/manual/en/function.uopz-undefine.php)—[取消](https://www.php.net/manual/en/function.uopz-undefine.php)定义常量 [uopz\_unset\_hook](https://www.php.net/manual/en/function.uopz-unset-hook.php)—删除函数或方法上先前设置的钩子 [uopz\_unset\_mock](https://www.php.net/manual/en/function.uopz-unset-mock.php)—取消设置先前设置的模拟 [uopz\_unset\_return](https://www.php.net/manual/en/function.uopz-unset-return.php)—重置函数的先前设置的返回值