当前位置: 首页 > 文档资料 > PHP-X 中文文档 >

依赖关系

优质
小牛编辑
134浏览
2023-12-01

编写的PHP扩展需要需要依赖另外一个扩展,在PHP-X中可以调用Extension->require来实现。

PHPX_EXTENSION()
{
    Extension *ext = new Extension("test", "0.0.1");
    ext->require("swoole");
    ext->require("sockets");
    return ext;
}
  • require方法传入所依赖扩展的名称
  • 可以多次调用require实现多个扩展依赖关系
  • 使用require后,如果PHP未加载所依赖的扩展,底层会抛出致命错误
  • 使用require后,可以忽略php.ini中扩展配置的顺序,ZendVM底层会自动进行排序,先加载依赖的扩展

引入头文件

引入其他扩展的头文件时,需要使用extern C的方式。

extern "C" {
    #include "ext/swoole/php_swoole.h"
}

使用其他扩展

  • 扩展内直接使用php::exec执行其他扩展的函数,或者php::newObject创建其他扩展提供的类对象
  • 其他扩展提供的C/C++函数,需要引入相关的头文件,然后调用即可