您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ zephir_update_property_zval函数代码示例

51自学网 2021-06-03 11:58:51
  C++
这篇教程C++ zephir_update_property_zval函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中zephir_update_property_zval函数的典型用法代码示例。如果您正苦于以下问题:C++ zephir_update_property_zval函数的具体用法?C++ zephir_update_property_zval怎么用?C++ zephir_update_property_zval使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了zephir_update_property_zval函数的22个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: PHP_METHOD

/** * Sets a prefix for all the URIs to be generated * *<code> * $url->setBaseUri("/invo/"); * * $url->setBaseUri("/invo/index.php/"); *</code> */PHP_METHOD(Phalcon_Mvc_Url, setBaseUri) {	zval *baseUri_param = NULL, _0;	zval baseUri;	zval *this_ptr = getThis();	ZVAL_UNDEF(&baseUri);	ZVAL_UNDEF(&_0);	ZEPHIR_MM_GROW();	zephir_fetch_params(1, 1, 0, &baseUri_param);	if (UNEXPECTED(Z_TYPE_P(baseUri_param) != IS_STRING && Z_TYPE_P(baseUri_param) != IS_NULL)) {		zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'baseUri' must be of the type string") TSRMLS_CC);		RETURN_MM_NULL();	}	if (EXPECTED(Z_TYPE_P(baseUri_param) == IS_STRING)) {		zephir_get_strval(&baseUri, baseUri_param);	} else {		ZEPHIR_INIT_VAR(&baseUri);		ZVAL_EMPTY_STRING(&baseUri);	}	zephir_update_property_zval(this_ptr, SL("baseUri"), &baseUri);	zephir_read_property(&_0, this_ptr, SL("staticBaseUri"), PH_NOISY_CC | PH_READONLY);	if (Z_TYPE_P(&_0) == IS_NULL) {		zephir_update_property_zval(this_ptr, SL("staticBaseUri"), &baseUri);	}	RETURN_THIS();}
开发者ID:joeyhub,项目名称:cphalcon,代码行数:41,


示例2: PHP_METHOD

PHP_METHOD(Test_Oo_PropertyAccess, __construct) {	zval *test, *test1, *_0, *_1, *_2, *_3, *_4, *_5, *_6, *_7 = NULL, *_8, *_9;	ZEPHIR_MM_GROW();	ZEPHIR_INIT_VAR(test);	object_init(test);	ZEPHIR_INIT_VAR(_0);	array_init_size(_0, 6);	ZEPHIR_INIT_VAR(_1);	ZVAL_LONG(_1, 1);	zephir_array_fast_append(_0, _1);	ZEPHIR_INIT_BNVAR(_1);	ZVAL_LONG(_1, 2);	zephir_array_fast_append(_0, _1);	ZEPHIR_INIT_BNVAR(_1);	ZVAL_LONG(_1, 3);	zephir_array_fast_append(_0, _1);	ZEPHIR_INIT_BNVAR(_1);	ZVAL_LONG(_1, 5);	zephir_array_fast_append(_0, _1);	ZEPHIR_INIT_BNVAR(_1);	ZVAL_DOUBLE(_1, 6.00);	zephir_array_fast_append(_0, _1);	zephir_update_property_zval(test, SL("test"), _0 TSRMLS_CC);	ZEPHIR_OBS_VAR(_2);	zephir_read_property(&_2, test, SL("test"), PH_NOISY_CC);	zephir_array_fetch_long(&_3, _2, 0, PH_NOISY | PH_READONLY TSRMLS_CC);	zephir_update_property_zval(test, SL("test2"), _3 TSRMLS_CC);	ZEPHIR_OBS_VAR(_4);	zephir_read_property(&_4, test, SL("test"), PH_NOISY_CC);	zephir_array_fetch_long(&_5, _4, 1, PH_NOISY | PH_READONLY TSRMLS_CC);	zephir_update_property_zval(test, SL("test3"), _5 TSRMLS_CC);	ZEPHIR_INIT_BNVAR(_1);	array_init_size(_1, 5);	ZEPHIR_OBS_VAR(_6);	zephir_read_property(&_6, test, SL("test"), PH_NOISY_CC);	ZEPHIR_OBS_VAR(_7);	zephir_array_fetch_long(&_7, _6, 1, PH_NOISY TSRMLS_CC);	zephir_array_fast_append(_1, _7);	ZEPHIR_INIT_VAR(_8);	ZVAL_LONG(_8, 1);	zephir_array_fast_append(_1, _8);	ZEPHIR_INIT_BNVAR(_8);	ZVAL_LONG(_8, 2);	zephir_array_fast_append(_1, _8);	ZEPHIR_INIT_BNVAR(_8);	ZVAL_LONG(_8, 3);	zephir_array_fast_append(_1, _8);	zephir_update_property_zval(test, SL("test3"), _1 TSRMLS_CC);	zephir_update_property_this(this_ptr, SL("a"), test TSRMLS_CC);	_9 = zephir_fetch_nproperty_this(this_ptr, SL("a"), PH_NOISY_CC);	ZEPHIR_OBS_NVAR(_7);	zephir_read_property(&_7, _9, SL("test2"), PH_NOISY_CC);	zephir_update_property_this(this_ptr, SL("b"), _7 TSRMLS_CC);	test1 = zephir_fetch_nproperty_this(this_ptr, SL("a"), PH_NOISY_CC);	ZEPHIR_MM_RESTORE();}
开发者ID:CyberLine,项目名称:zephir,代码行数:60,


示例3: PHP_METHOD

/** * Phalcon/Di/Service * * @param mixed definition */PHP_METHOD(Phalcon_Di_Service, __construct) {	zend_bool shared;	zval *definition, definition_sub, *shared_param = NULL, __$true, __$false;	zval *this_ptr = getThis();	ZVAL_UNDEF(&definition_sub);	ZVAL_BOOL(&__$true, 1);	ZVAL_BOOL(&__$false, 0);	zephir_fetch_params(0, 1, 1, &definition, &shared_param);	if (!shared_param) {		shared = 0;	} else {		shared = zephir_get_boolval(shared_param);	}	zephir_update_property_zval(this_ptr, SL("_definition"), definition);	if (shared) {		zephir_update_property_zval(this_ptr, SL("_shared"), &__$true);	} else {		zephir_update_property_zval(this_ptr, SL("_shared"), &__$false);	}}
开发者ID:niden,项目名称:cphalcon,代码行数:32,


示例4: PHP_METHOD

/** * Sets the intermediate model data for has-*-through relations * * @param string|array intermediateFields * @param string intermediateReferencedFields */PHP_METHOD(Phalcon_Mvc_Model_Relation, setIntermediateRelation) {	zval intermediateModel;	zval *intermediateFields, intermediateFields_sub, *intermediateModel_param = NULL, *intermediateReferencedFields, intermediateReferencedFields_sub;	zval *this_ptr = getThis();	ZVAL_UNDEF(&intermediateFields_sub);	ZVAL_UNDEF(&intermediateReferencedFields_sub);	ZVAL_UNDEF(&intermediateModel);	ZEPHIR_MM_GROW();	zephir_fetch_params(1, 3, 0, &intermediateFields, &intermediateModel_param, &intermediateReferencedFields);	if (UNEXPECTED(Z_TYPE_P(intermediateModel_param) != IS_STRING && Z_TYPE_P(intermediateModel_param) != IS_NULL)) {		zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'intermediateModel' must be of the type string") TSRMLS_CC);		RETURN_MM_NULL();	}	if (EXPECTED(Z_TYPE_P(intermediateModel_param) == IS_STRING)) {		zephir_get_strval(&intermediateModel, intermediateModel_param);	} else {		ZEPHIR_INIT_VAR(&intermediateModel);		ZVAL_EMPTY_STRING(&intermediateModel);	}	zephir_update_property_zval(this_ptr, SL("_intermediateFields"), intermediateFields);	zephir_update_property_zval(this_ptr, SL("_intermediateModel"), &intermediateModel);	zephir_update_property_zval(this_ptr, SL("_intermediateReferencedFields"), intermediateReferencedFields);	ZEPHIR_MM_RESTORE();}
开发者ID:dschissler,项目名称:cphalcon,代码行数:37,


示例5: PHP_METHOD

PHP_METHOD(Owl_Router_Router, add) {	int ZEPHIR_LAST_CALL_STATUS;	zend_bool _2;	zval *parameters = NULL;	zval *uri_param = NULL, *parameters_param = NULL, *method_param = NULL, *route, _0, *_1, _3, *_4;	zval *uri = NULL, *method = NULL;	ZEPHIR_MM_GROW();	zephir_fetch_params(1, 1, 2, &uri_param, &parameters_param, &method_param);	zephir_get_strval(uri, uri_param);	if (!parameters_param) {		ZEPHIR_INIT_VAR(parameters);		array_init(parameters);	} else {	parameters = parameters_param;	}	if (!method_param) {		ZEPHIR_INIT_VAR(method);		ZVAL_STRING(method, "GET", 1);	} else {		zephir_get_strval(method, method_param);	}	ZEPHIR_SINIT_VAR(_0);	ZVAL_STRING(&_0, "{", 0);	ZEPHIR_INIT_VAR(_1);	zephir_fast_strpos(_1, uri, &_0, 0 );	_2 = ZEPHIR_IS_FALSE_IDENTICAL(_1);	if (_2) {		ZEPHIR_SINIT_VAR(_3);		ZVAL_STRING(&_3, ":", 0);		ZEPHIR_INIT_VAR(_4);		zephir_fast_strpos(_4, uri, &_3, 0 );		_2 = ZEPHIR_IS_FALSE_IDENTICAL(_4);	}	ZEPHIR_INIT_VAR(route);	if (_2) {		object_init_ex(route, owl_router_http_staticroute_ce);		ZEPHIR_CALL_METHOD(NULL, route, "__construct", NULL, 27, uri);		zephir_check_call_status();	} else {		object_init_ex(route, owl_router_http_dynamicroute_ce);		ZEPHIR_CALL_METHOD(NULL, route, "__construct", NULL, 28, uri);		zephir_check_call_status();	}	zephir_update_property_zval(route, SL("method"), method TSRMLS_CC);	zephir_update_property_zval(route, SL("parameters"), parameters TSRMLS_CC);	zephir_update_property_array_append(this_ptr, SL("routers"), route TSRMLS_CC);	ZEPHIR_MM_RESTORE();}
开发者ID:noikiy,项目名称:owl,代码行数:55,


示例6: PHP_METHOD

/** * Initializes the session bag. This method must not be called directly, the * class calls it when its internal data is accessed */PHP_METHOD(Phalcon_Session_Bag, initialize) {	zval __$true, __$false, session, dependencyInjector, data, _2, _1$$3;	zend_long ZEPHIR_LAST_CALL_STATUS;	zephir_fcall_cache_entry *_0 = NULL;	zval *this_ptr = getThis();	ZVAL_BOOL(&__$true, 1);	ZVAL_BOOL(&__$false, 0);	ZVAL_UNDEF(&session);	ZVAL_UNDEF(&dependencyInjector);	ZVAL_UNDEF(&data);	ZVAL_UNDEF(&_2);	ZVAL_UNDEF(&_1$$3);	ZEPHIR_MM_GROW();	ZEPHIR_OBS_VAR(&session);	zephir_read_property(&session, this_ptr, SL("_session"), PH_NOISY_CC);	if (Z_TYPE_P(&session) != IS_OBJECT) {		ZEPHIR_OBS_VAR(&dependencyInjector);		zephir_read_property(&dependencyInjector, this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);		if (Z_TYPE_P(&dependencyInjector) != IS_OBJECT) {			ZEPHIR_CALL_CE_STATIC(&dependencyInjector, phalcon_di_ce, "getdefault", &_0, 0);			zephir_check_call_status();			if (Z_TYPE_P(&dependencyInjector) != IS_OBJECT) {				ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_session_exception_ce, "A dependency injection object is required to access the 'session' service", "phalcon/session/bag.zep", 212);				return;			}		}		ZEPHIR_INIT_VAR(&_1$$3);		ZVAL_STRING(&_1$$3, "session");		ZEPHIR_CALL_METHOD(&session, &dependencyInjector, "getshared", NULL, 0, &_1$$3);		zephir_check_call_status();		zephir_update_property_zval(this_ptr, SL("_session"), &session);	}	zephir_read_property(&_2, this_ptr, SL("_name"), PH_NOISY_CC | PH_READONLY);	ZEPHIR_CALL_METHOD(&data, &session, "get", NULL, 0, &_2);	zephir_check_call_status();	if (Z_TYPE_P(&data) != IS_ARRAY) {		ZEPHIR_INIT_NVAR(&data);		array_init(&data);	}	zephir_update_property_zval(this_ptr, SL("_data"), &data);	if (1) {		zephir_update_property_zval(this_ptr, SL("_initialized"), &__$true);	} else {		zephir_update_property_zval(this_ptr, SL("_initialized"), &__$false);	}	ZEPHIR_MM_RESTORE();}
开发者ID:joeyhub,项目名称:cphalcon,代码行数:56,


示例7: PHP_METHOD

/** * Return the strategy to obtain the meta-data */PHP_METHOD(Phalcon_Mvc_Model_MetaData, getStrategy) {	zval _0, _1$$3;	zend_long ZEPHIR_LAST_CALL_STATUS;	zval *this_ptr = getThis();	ZVAL_UNDEF(&_0);	ZVAL_UNDEF(&_1$$3);	ZEPHIR_MM_GROW();	ZEPHIR_OBS_VAR(&_0);	zephir_read_property(&_0, this_ptr, SL("_strategy"), PH_NOISY_CC);	if (Z_TYPE_P(&_0) == IS_NULL) {		ZEPHIR_INIT_VAR(&_1$$3);		object_init_ex(&_1$$3, phalcon_mvc_model_metadata_strategy_introspection_ce);		if (zephir_has_constructor(&_1$$3 TSRMLS_CC)) {			ZEPHIR_CALL_METHOD(NULL, &_1$$3, "__construct", NULL, 0);			zephir_check_call_status();		}		zephir_update_property_zval(this_ptr, SL("_strategy"), &_1$$3);	}	RETURN_MM_MEMBER(getThis(), "_strategy");}
开发者ID:dschissler,项目名称:cphalcon,代码行数:28,


示例8: zephir_unset_property_array

/** * Unsets an index in an array property */int zephir_unset_property_array(zval *object, char *property, unsigned int property_length, zval *index){	zval tmp;	int separated = 0;	if (Z_TYPE_P(object) == IS_OBJECT) {		zephir_read_property(&tmp, object, property, property_length, PH_NOISY_CC);		Z_TRY_DELREF(tmp);		/** Separation only when refcount > 1 */		if (Z_REFCOUNTED(tmp) && Z_REFCOUNT(tmp) > 1) {			if (!Z_ISREF(tmp)) {				zval new_zv;				ZVAL_DUP(&new_zv, &tmp);				ZVAL_COPY_VALUE(&tmp, &new_zv);				Z_TRY_DELREF(new_zv);				separated = 1;			}		}		zephir_array_unset(&tmp, index, PH_SEPARATE);		if (separated) {			zephir_update_property_zval(object, property, property_length, &tmp);		}	}	return SUCCESS;}
开发者ID:crocodile2u,项目名称:zephir,代码行数:33,


示例9: PHP_METHOD

PHP_METHOD(PhalconPlus_Logger_Formatter_LinePlus, __construct) {	zval *formatString_param = NULL;	zval formatString;	zval *this_ptr = getThis();	ZVAL_UNDEF(&formatString);	ZEPHIR_MM_GROW();	zephir_fetch_params(1, 1, 0, &formatString_param);	if (UNEXPECTED(Z_TYPE_P(formatString_param) != IS_STRING && Z_TYPE_P(formatString_param) != IS_NULL)) {		zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'formatString' must be of the type string") TSRMLS_CC);		RETURN_MM_NULL();	}	if (EXPECTED(Z_TYPE_P(formatString_param) == IS_STRING)) {		zephir_get_strval(&formatString, formatString_param);	} else {		ZEPHIR_INIT_VAR(&formatString);		ZVAL_EMPTY_STRING(&formatString);	}	if (!(ZEPHIR_IS_EMPTY(&formatString))) {		zephir_update_property_zval(this_ptr, SL("formatString"), &formatString);	}	ZEPHIR_MM_RESTORE();}
开发者ID:bullsoft,项目名称:phalconplus,代码行数:29,


示例10: PHP_METHOD

PHP_METHOD(Test_Oo_DynamicProp, setExistingStringPropertyString) {	zval *value_param = NULL;	zval *value = NULL;	ZEPHIR_MM_GROW();	zephir_fetch_params(1, 1, 0, &value_param);	if (unlikely(Z_TYPE_P(value_param) != IS_STRING && Z_TYPE_P(value_param) != IS_NULL)) {		zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'value' must be a string") TSRMLS_CC);		RETURN_MM_NULL();	}	if (likely(Z_TYPE_P(value_param) == IS_STRING)) {		zephir_get_strval(value, value_param);	} else {		ZEPHIR_INIT_VAR(value);		ZVAL_EMPTY_STRING(value);	}	zephir_update_property_zval(this_ptr, SL("eproperty"), value TSRMLS_CC);	ZEPHIR_MM_RESTORE();}
开发者ID:3axap4eHko,项目名称:zephir,代码行数:25,


示例11: PHP_METHOD

PHP_METHOD(Test_Oo_DynamicProp, setPropertyVariableInt) {	int a = 10;	zval *property_param = NULL, *_0;	zval *property = NULL;	ZEPHIR_MM_GROW();	zephir_fetch_params(1, 1, 0, &property_param);	if (unlikely(Z_TYPE_P(property_param) != IS_STRING && Z_TYPE_P(property_param) != IS_NULL)) {		zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'property' must be a string") TSRMLS_CC);		RETURN_MM_NULL();	}	if (unlikely(Z_TYPE_P(property_param) == IS_STRING)) {		property = property_param;	} else {		ZEPHIR_INIT_VAR(property);		ZVAL_EMPTY_STRING(property);	}	ZEPHIR_INIT_VAR(_0);	ZVAL_LONG(_0, a);	zephir_update_property_zval(this_ptr, Z_STRVAL_P(property), Z_STRLEN_P(property), _0 TSRMLS_CC);	ZEPHIR_MM_RESTORE();}
开发者ID:9466,项目名称:zephir,代码行数:28,


示例12: PHP_METHOD

/** * Test/Router/Route constructor * * @param string pattern * @param array paths * @param array|string httpMethods */PHP_METHOD(Test_Router_Route, __construct) {	int ZEPHIR_LAST_CALL_STATUS;	zval *pattern, pattern_sub, *paths = NULL, paths_sub, *httpMethods = NULL, httpMethods_sub, __$null;	ZEPHIR_INIT_THIS();	ZVAL_UNDEF(&pattern_sub);	ZVAL_UNDEF(&paths_sub);	ZVAL_UNDEF(&httpMethods_sub);	ZVAL_NULL(&__$null);	ZEPHIR_MM_GROW();	zephir_fetch_params(1, 1, 2, &pattern, &paths, &httpMethods);	if (!paths) {		paths = &paths_sub;		paths = &__$null;	}	if (!httpMethods) {		httpMethods = &httpMethods_sub;		httpMethods = &__$null;	}	ZEPHIR_CALL_METHOD(NULL, this_ptr, "reconfigure", NULL, 0, pattern, paths);	zephir_check_call_status();	zephir_update_property_zval(this_ptr, SL("_methods"), httpMethods);	ZEPHIR_MM_RESTORE();}
开发者ID:crocodile2u,项目名称:zephir,代码行数:37,


示例13: PHP_METHOD

/** * @link https://github.com/phalcon/zephir/issues/915 */PHP_METHOD(Test_Exception, testRuntimePropertyFetch) {	zval *message_param = NULL;	zval message;	zval *this_ptr = getThis();	ZVAL_UNDEF(&message);	ZEPHIR_MM_GROW();	zephir_fetch_params(1, 1, 0, &message_param);	if (UNEXPECTED(Z_TYPE_P(message_param) != IS_STRING && Z_TYPE_P(message_param) != IS_NULL)) {		zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'message' must be of the type string") TSRMLS_CC);		RETURN_MM_NULL();	}	if (EXPECTED(Z_TYPE_P(message_param) == IS_STRING)) {		zephir_get_strval(&message, message_param);	} else {		ZEPHIR_INIT_VAR(&message);		ZVAL_EMPTY_STRING(&message);	}	zephir_update_property_zval(this_ptr, SL("message"), &message);	ZEPHIR_MM_RESTORE();}
开发者ID:dreamsxin,项目名称:zephir,代码行数:30,


示例14: PHP_METHOD

PHP_METHOD(PhalconPlus_Base_ProtoOrderBy, setProperty) {	zval *property_param = NULL;	zval property;	zval *this_ptr = getThis();	ZVAL_UNDEF(&property);	ZEPHIR_MM_GROW();	zephir_fetch_params(1, 1, 0, &property_param);	if (UNEXPECTED(Z_TYPE_P(property_param) != IS_STRING && Z_TYPE_P(property_param) != IS_NULL)) {		zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'property' must be of the type string") TSRMLS_CC);		RETURN_MM_NULL();	}	if (EXPECTED(Z_TYPE_P(property_param) == IS_STRING)) {		zephir_get_strval(&property, property_param);	} else {		ZEPHIR_INIT_VAR(&property);		ZVAL_EMPTY_STRING(&property);	}	zephir_update_property_zval(this_ptr, SL("property"), &property);	ZEPHIR_MM_RESTORE();}
开发者ID:bullsoft,项目名称:phalconplus,代码行数:27,


示例15: PHP_METHOD

/** * Phalcon/Logger/Formatter/Json construct * * @param string dateFormat */PHP_METHOD(Phalcon_Logger_Formatter_Json, __construct) {	zval *dateFormat_param = NULL;	zval dateFormat;	zval *this_ptr = getThis();	ZVAL_UNDEF(&dateFormat);	ZEPHIR_MM_GROW();	zephir_fetch_params(1, 0, 1, &dateFormat_param);	if (!dateFormat_param) {		ZEPHIR_INIT_VAR(&dateFormat);		ZVAL_STRING(&dateFormat, "");	} else {		zephir_get_strval(&dateFormat, dateFormat_param);	}	if (!(Z_TYPE_P(&dateFormat) == IS_UNDEF) && Z_STRLEN_P(&dateFormat)) {		zephir_update_property_zval(this_ptr, SL("dateFormat"), &dateFormat);	}	ZEPHIR_MM_RESTORE();}
开发者ID:joeyhub,项目名称:cphalcon,代码行数:30,


示例16: zephir_update_property_zval_zval

/** * Checks whether obj is an object and updates zval property with another zval */int zephir_update_property_zval_zval(zval *object, zval *property, zval *value){	if (Z_TYPE_P(property) != IS_STRING) {		php_error_docref(NULL, E_WARNING, "Property should be string");		return FAILURE;	}	return zephir_update_property_zval(object, Z_STRVAL_P(property), Z_STRLEN_P(property), value);}
开发者ID:phalcon,项目名称:zephir,代码行数:12,


示例17: zephir_property_incr_decr

/** * Increments an object property */int zephir_property_incr_decr(zval *object, char *property_name, unsigned int property_length, unsigned int increment){	zval tmp;	zend_class_entry *ce;	int separated = 0;	ZVAL_UNDEF(&tmp);	if (Z_TYPE_P(object) != IS_OBJECT) {		php_error_docref(NULL, E_WARNING, "Attempt to assign property of non-object");		return FAILURE;	}	ce = Z_OBJCE_P(object);	if (ce->parent) {		ce = zephir_lookup_class_ce(ce, property_name, property_length);	}	zephir_read_property(&tmp, object, property_name, property_length, 0);	if (Z_TYPE(tmp) > IS_UNDEF) {		Z_TRY_DELREF(tmp);		/** Separation only when refcount > 1 */		if (Z_REFCOUNTED(tmp)) {			if (Z_REFCOUNT(tmp) > 1) {				if (!Z_ISREF(tmp)) {					zval new_zv;					ZVAL_DUP(&new_zv, &tmp);					ZVAL_COPY_VALUE(&tmp, &new_zv);					Z_TRY_DELREF(new_zv);					separated = 1;				}			}		} else {			zval new_zv;			ZVAL_DUP(&new_zv, &tmp);			ZVAL_COPY_VALUE(&tmp, &new_zv);			Z_TRY_DELREF(new_zv);			separated = 1;		}		if (increment) {			zephir_increment(&tmp);		} else {			zephir_decrement(&tmp);		}		if (separated) {			zephir_update_property_zval(object, property_name, property_length, &tmp);		}	}	return SUCCESS;}
开发者ID:phalcon,项目名称:zephir,代码行数:58,


示例18: PHP_METHOD

/** * Returns a cached content */PHP_METHOD(Phalcon_Cache_Backend_Libmemcached, get) {	zend_long ZEPHIR_LAST_CALL_STATUS;	zval *keyName_param = NULL, *lifetime = NULL, lifetime_sub, __$null, memcache, prefixedKey, cachedContent, _0, _1, _2;	zval keyName;	zval *this_ptr = getThis();	ZVAL_UNDEF(&keyName);	ZVAL_UNDEF(&lifetime_sub);	ZVAL_NULL(&__$null);	ZVAL_UNDEF(&memcache);	ZVAL_UNDEF(&prefixedKey);	ZVAL_UNDEF(&cachedContent);	ZVAL_UNDEF(&_0);	ZVAL_UNDEF(&_1);	ZVAL_UNDEF(&_2);	ZEPHIR_MM_GROW();	zephir_fetch_params(1, 1, 1, &keyName_param, &lifetime);	zephir_get_strval(&keyName, keyName_param);	if (!lifetime) {		lifetime = &lifetime_sub;		lifetime = &__$null;	}	ZEPHIR_OBS_VAR(&memcache);	zephir_read_property(&memcache, this_ptr, SL("_memcache"), PH_NOISY_CC);	if (Z_TYPE_P(&memcache) != IS_OBJECT) {		ZEPHIR_CALL_METHOD(NULL, this_ptr, "_connect", NULL, 0);		zephir_check_call_status();		ZEPHIR_OBS_NVAR(&memcache);		zephir_read_property(&memcache, this_ptr, SL("_memcache"), PH_NOISY_CC);	}	zephir_read_property(&_0, this_ptr, SL("_prefix"), PH_NOISY_CC | PH_READONLY);	ZEPHIR_INIT_VAR(&prefixedKey);	ZEPHIR_CONCAT_VV(&prefixedKey, &_0, &keyName);	zephir_update_property_zval(this_ptr, SL("_lastKey"), &prefixedKey);	ZEPHIR_CALL_METHOD(&cachedContent, &memcache, "get", NULL, 0, &prefixedKey);	zephir_check_call_status();	ZEPHIR_CALL_METHOD(&_1, &memcache, "getresultcode", NULL, 0);	zephir_check_call_status();	if (ZEPHIR_IS_LONG_IDENTICAL(&_1, 16)) {		RETURN_MM_NULL();	}	if (zephir_is_numeric(&cachedContent)) {		RETURN_CCTOR(&cachedContent);	}	zephir_read_property(&_2, this_ptr, SL("_frontend"), PH_NOISY_CC | PH_READONLY);	ZEPHIR_RETURN_CALL_METHOD(&_2, "afterretrieve", NULL, 0, &cachedContent);	zephir_check_call_status();	RETURN_MM();}
开发者ID:dschissler,项目名称:cphalcon,代码行数:58,


示例19: zephir_update_property_array

/** * Updates an array property */int zephir_update_property_array(zval *object, const char *property, zend_uint property_length, const zval *index, zval *value){	zval tmp;	int separated = 0;	if (Z_TYPE_P(object) == IS_OBJECT) {		zephir_read_property(&tmp, object, property, property_length, PH_NOISY | PH_READONLY);		/** Separation only when refcount > 1 */		if (Z_REFCOUNTED(tmp)) {			if (Z_REFCOUNT(tmp) > 1) {				if (!Z_ISREF(tmp)) {					zval new_zv;					ZVAL_DUP(&new_zv, &tmp);					ZVAL_COPY_VALUE(&tmp, &new_zv);					Z_TRY_DELREF(new_zv);					separated = 1;				}			}		} else {			zval new_zv;			ZVAL_DUP(&new_zv, &tmp);			ZVAL_COPY_VALUE(&tmp, &new_zv);			Z_TRY_DELREF(new_zv);			separated = 1;		}		/** Convert the value to array if not is an array */		if (Z_TYPE(tmp) != IS_ARRAY) {			if (separated) {				convert_to_array(&tmp);			} else {				array_init(&tmp);				separated = 1;			}			Z_DELREF(tmp);		}		Z_TRY_ADDREF_P(value);		if (Z_TYPE_P(index) == IS_STRING) {			zend_symtable_str_update(Z_ARRVAL(tmp), Z_STRVAL_P(index), Z_STRLEN_P(index), value);		} else if (Z_TYPE_P(index) == IS_LONG) {			zend_hash_index_update(Z_ARRVAL(tmp), Z_LVAL_P(index), value);		} else if (Z_TYPE_P(index) == IS_NULL) {			zend_hash_next_index_insert(Z_ARRVAL(tmp), value);		}		if (separated) {			zephir_update_property_zval(object, property, property_length, &tmp);		}	}	return SUCCESS;}
开发者ID:phalcon,项目名称:zephir,代码行数:57,


示例20: zephir_update_property_array_append

/** * Appends a zval value to an array property */int zephir_update_property_array_append(zval *object, char *property, unsigned int property_length, zval *value){	zval tmp;	int separated = 0;	ZVAL_UNDEF(&tmp);	if (Z_TYPE_P(object) != IS_OBJECT) {		return SUCCESS;	}	zephir_read_property(&tmp, object, property, property_length, PH_NOISY_CC);	Z_TRY_DELREF(tmp);	/** Separation only when refcount > 1 */	if (Z_REFCOUNTED(tmp)) {		if (Z_REFCOUNT(tmp) > 1) {			if (!Z_ISREF(tmp)) {				zval new_zv;				ZVAL_DUP(&new_zv, &tmp);				ZVAL_COPY_VALUE(&tmp, &new_zv);				Z_TRY_DELREF(new_zv);				separated = 1;			}		}	} else {		zval new_zv;		ZVAL_DUP(&new_zv, &tmp);		ZVAL_COPY_VALUE(&tmp, &new_zv);		Z_TRY_DELREF(new_zv);		separated = 1;	}	/** Convert the value to array if not is an array */	if (Z_TYPE(tmp) != IS_ARRAY) {		if (separated) {			convert_to_array(&tmp);		} else {			array_init(&tmp);			separated = 1;		}		Z_DELREF(tmp);	}	Z_TRY_ADDREF_P(value);	add_next_index_zval(&tmp, value);	if (separated) {		zephir_update_property_zval(object, property, property_length, &tmp);	}	return SUCCESS;}
开发者ID:phalcon,项目名称:zephir,代码行数:57,


示例21: PHP_METHOD

/** * Phalcon/Acl/Operation constructor */PHP_METHOD(Phalcon_Acl_Operation, __construct) {	zval *name_param = NULL, *description_param = NULL;	zval name, description;	zval *this_ptr = getThis();	ZVAL_UNDEF(&name);	ZVAL_UNDEF(&description);	ZEPHIR_MM_GROW();	zephir_fetch_params(1, 1, 1, &name_param, &description_param);	if (UNEXPECTED(Z_TYPE_P(name_param) != IS_STRING && Z_TYPE_P(name_param) != IS_NULL)) {		zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'name' must be of the type string") TSRMLS_CC);		RETURN_MM_NULL();	}	if (EXPECTED(Z_TYPE_P(name_param) == IS_STRING)) {		zephir_get_strval(&name, name_param);	} else {		ZEPHIR_INIT_VAR(&name);		ZVAL_EMPTY_STRING(&name);	}	if (!description_param) {		ZEPHIR_INIT_VAR(&description);		ZVAL_STRING(&description, "");	} else {		zephir_get_strval(&description, description_param);	}	if (ZEPHIR_IS_STRING(&name, "*")) {		ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_acl_exception_ce, "Operation name cannot be '*'", "phalcon/acl/operation.zep", 40);		return;	}	zephir_update_property_zval(this_ptr, SL("name"), &name);	if (!(Z_TYPE_P(&description) == IS_UNDEF) && Z_STRLEN_P(&description)) {		zephir_update_property_zval(this_ptr, SL("description"), &description);	}	ZEPHIR_MM_RESTORE();}
开发者ID:dschissler,项目名称:cphalcon,代码行数:44,


示例22: PHP_METHOD

PHP_METHOD(Test_Unsettest, testStdClassUnset) {	zval *simpleObject, *_0;	ZEPHIR_MM_GROW();	ZEPHIR_INIT_VAR(simpleObject);	object_init(simpleObject);	ZEPHIR_INIT_ZVAL_NREF(_0);	ZVAL_LONG(_0, 12345);	zephir_update_property_zval(simpleObject, SL("property1"), _0 TSRMLS_CC);	ZEPHIR_INIT_ZVAL_NREF(_0);	ZVAL_STRING(_0, "test", 1);	zephir_update_property_zval(simpleObject, SL("property2"), _0 TSRMLS_CC);	ZEPHIR_INIT_ZVAL_NREF(_0);	ZVAL_LONG(_0, 12345);	zephir_update_property_zval(simpleObject, SL("property3"), _0 TSRMLS_CC);	zephir_unset_property(simpleObject, "property2" TSRMLS_CC);	RETURN_CCTOR(simpleObject);}
开发者ID:9466,项目名称:zephir,代码行数:21,



注:本文中的zephir_update_property_zval函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ zero_user_segment函数代码示例
C++ zephir_update_property_this函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。