依赖关系
优质
小牛编辑
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++
函数,需要引入相关的头文件,然后调用即可