Как вернуть $ this в расширении php? - PullRequest
3 голосов
/ 16 марта 2012

Например, этот метод объекта Dataset возвращает NULL, Как мне сделать так, чтобы он возвращал $this

PHP_METHOD(TSet, nextLine)
{
    TSet *MySet;
    tset_object *obj = (tset_object *)zend_object_store_get_object(getThis() TSRMLS_CC);
    MySet = obj->DataSet;
    if (MySet != NULL) {
        MySet->nextLine();
    }
    RETURN_NULL();
}

Пытались

zval *object = getThis();
RETURN_ZVAL(object,false,false);

дал мне сегфо
И просто чтобы быть уверенным, что это

RETURN_ZVAL(getThis(),false,false);

С таким же результатом

1 Ответ

2 голосов
/ 16 марта 2012

RETURN_ZVAL (getThis (), 1, 0);

Это правильный ответ, хотя не знаю почему.
Получено из http://www.snailinaturtleneck.com/blog/2011/08/11/php-extensions-made-eldrich-classes/#comment-466980122

...