Заворачивание пользовательского расширения php - PullRequest
2 голосов
/ 17 ноября 2011

Я пытаюсь обернуть пользовательское расширение php из библиотеки C, теперь у меня есть функция Initializer, которая инициирует определенное пользовательское соединение и кажется дорогой, и я не должен запускать ее каждый раз, когда я вызываю функцию.

Давайте предположим, что у меня есть следующее в оболочке ZEND:

PHP_FUNCTION(get_data){
    conn = conn_init();
    data = getdata(conn);
    return data;
}

conn_init() - это дорогостоящий вызов, куда мне поместить эту функцию?

и можно ли попросить пользователей позвонить conn_init() из PHP и как?

1 Ответ

1 голос
/ 17 ноября 2011

Похоже, вы должны обернуть conn как ресурс .

Тогда скрипт, использующий ваше расширение, может выглядеть как

$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]);
...