grom
Новичок
Разбираюсь с созданием модуля для php на с++
все вроде работает но немогу сделать передачу переменной по ссылке, чтобы она менялась внутри с++ функции
Вот код на с++
в php запускаю функцию
функция возвращает значение 9, а вот переменная $m остаеться равна 8
хотя ZEND_ARG_INFO(1,id) еденица говорит о том что переменная должна передаваться по ссылке
подскажите что не так, как передать переменную по ссылке
все вроде работает но немогу сделать передачу переменной по ссылке, чтобы она менялась внутри с++ функции
Вот код на с++
PHP:
ZEND_BEGIN_ARG_INFO_EX(arginfo_test,1,0,0)
ZEND_ARG_INFO(1,id)
ZEND_END_ARG_INFO()
PHP_FUNCTION(test);
const zend_function_entry test_functions[] = {
PHP_FE(test, arginfo_test)
{NULL, NULL, NULL}
};
zend_module_entry test_module_entry = {
STANDARD_MODULE_HEADER, // #if ZEND_MODULE_API_NO >= 20010901
"test", // название модуля
test_functions, // указываем экспортируемые функции
NULL, // PHP_MINIT(test), Module Initialization
NULL, // PHP_MSHUTDOWN(test), Module Shutdown
NULL, // PHP_RINIT(test), Request Initialization
NULL, // PHP_RSHUTDOWN(test), Request Shutdown
NULL, // PHP_MINFO(test), Module Info (для phpinfo())
"0.1", // версия нашего модуля
STANDARD_MODULE_PROPERTIES
};
ZEND_GET_MODULE(test)
PHP_FUNCTION(test)
{
double id;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "d", &id) == FAILURE) {
WRONG_PARAM_COUNT;
}
id=id+1;
RETURN_DOUBLE(id, 1);
}
PHP:
$m=8;
echo test($m);
echo "m-".$m;
хотя ZEND_ARG_INFO(1,id) еденица говорит о том что переменная должна передаваться по ссылке
подскажите что не так, как передать переменную по ссылке