пишу расширение. надо получить объек, распарсить его переменные и вернуть какие то значения через них. вот объект который будет на входе в функцию Код (Text): class IPRIV_KEY { var $eng; var $type; var $keyserial; var $userid; var $key; } ну вот тут я попробовал что то соорудить - но не знаю что делать дальше. в мануалах про объекты ничего не расписано подробно а в исходниках готовых расширений с объектами ничего не понял ( нашел только то что надо юзать так: zend_class_entry *cKey = zend_fetch_class("IPRIV_KEY", sizeof("IPRIV_KEY")-1, ZEND_FETCH_CLASS_DEFAULT TSRMLS_CC); zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &obj, ce ) Код (Text): PHP_FUNCTION(crypt_OpenSecretKeyFromFile ) { zval *obj; zend_class_entry *cKey = zend_fetch_class("IPRIV_KEY", sizeof("IPRIV_KEY")-1, ZEND_FETCH_CLASS_DEFAULT TSRMLS_CC); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &obj, ce ) == FAILURE) { RETURN_LONG( -1 ); } RETURN_LONG( 0 ); } дальше мне как то надо получить доступ к переменным объекта, инициализировать их значениями и вернуть назад.
да, вот на С структура которую я хочу на стороне экстеншена сформировать Код (Text): // Структура ключа typedef struct { short eng; // Тип криптосредства short type; // Тип ключа unsigned long keyserial; // Серийный номер ключа char userid[24]; // Код покупателя (минимум MAX_USERID_LENGTH+1) void* key; // Специфические для криптосредства данные }IPRIV_KEY; PS только не советйте по параметрам отдельным ее передавать. это слишком просто, хочу именно как объект