我正在尝试从C库中包装一个自定义php扩展,现在我有一个初始化函数,它启动一个特定的自定义连接,看起来很昂贵,每次调用该函数时都不应该运行它。 / p>
假设我在ZEND包装器中有以下内容,
PHP_FUNCTION(get_data){
conn = conn_init();
data = getdata(conn);
return data;
}
conn_init()
这是一个昂贵的电话,我应该把这个功能放在哪里?
我可以要求用户从PHP调用conn_init()
吗?
答案 0 :(得分:1)
您似乎应该将conn
包裹为resource。
然后使用您的扩展程序的脚本可能看起来像
$conn = YOUREXT_connect($cparams);
$data[1] = YOUREXT_getdata($conn, $params[1]);
$data[2] = YOUREXT_getdata($conn, $params[2]);
$data[3] = YOUREXT_getdata($conn, $params[3]);