本文整理汇总了C++中RETURN_THIS函数的典型用法代码示例。如果您正苦于以下问题:C++ RETURN_THIS函数的具体用法?C++ RETURN_THIS怎么用?C++ RETURN_THIS使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了RETURN_THIS函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: PHP_METHOD
/**
* Sets field name related to message
*/
PHP_METHOD(Phalcon_Validation_Message, setField) {
zval *field_param = NULL;
zval *field = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &field_param);
if (unlikely(Z_TYPE_P(field_param) != IS_STRING && Z_TYPE_P(field_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'field' must be a string") TSRMLS_CC);
RETURN_MM_NULL();
}
if (likely(Z_TYPE_P(field_param) == IS_STRING)) {
zephir_get_strval(field, field_param);
} else {
ZEPHIR_INIT_VAR(field);
ZVAL_EMPTY_STRING(field);
}
zephir_update_property_this(this_ptr, SL("_field"), field TSRMLS_CC);
RETURN_THIS();
}
开发者ID:AlloVince,项目名称:cphalcon,代码行数:27,代码来源:message.zep.c
示例2: PHP_METHOD
/**
* Set a single view parameter
*
*<code>
* $this->view->setVar("products", $products);
*</code>
*/
PHP_METHOD(Phalcon_Mvc_View_Simple, setVar) {
zval *key_param = NULL, *value;
zval *key = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 2, 0, &key_param, &value);
if (UNEXPECTED(Z_TYPE_P(key_param) != IS_STRING && Z_TYPE_P(key_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'key' must be a string") TSRMLS_CC);
RETURN_MM_NULL();
}
if (EXPECTED(Z_TYPE_P(key_param) == IS_STRING)) {
zephir_get_strval(key, key_param);
} else {
ZEPHIR_INIT_VAR(key);
ZVAL_EMPTY_STRING(key);
}
zephir_update_property_array(this_ptr, SL("_viewParams"), key, value TSRMLS_CC);
RETURN_THIS();
}
开发者ID:oscarmolinadev,项目名称:cphalcon,代码行数:31,代码来源:simple.zep.c
示例3: PHP_METHOD
/**
* Applies a callback function to each item in the object
*
* @param callable callback
* @param mixed userdata [Optional]
*/
PHP_METHOD(Xpl_Collection_ArrayObject, walk) {
int ZEPHIR_LAST_CALL_STATUS;
zval *callback, *userdata = NULL, *data = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 1, &callback, &userdata);
if (!userdata) {
userdata = ZEPHIR_GLOBAL(global_null);
}
ZEPHIR_CALL_METHOD(&data, this_ptr, "getarraycopy", NULL, 0);
zephir_check_call_status();
ZEPHIR_MAKE_REF(data);
ZEPHIR_CALL_FUNCTION(NULL, "array_walk", NULL, 72, data, callback, userdata);
ZEPHIR_UNREF(data);
zephir_check_call_status();
ZEPHIR_CALL_METHOD(NULL, this_ptr, "exchangearray", NULL, 0, data);
zephir_check_call_status();
RETURN_THIS();
}
开发者ID:wells5609,项目名称:xpl,代码行数:30,代码来源:arrayobject.zep.c
示例4: PHP_METHOD
/**
* Sets a hostname restriction to the route
*
*<code>
* $route->setHostname('localhost');
*</code>
*/
PHP_METHOD(Phalcon_Mvc_Router_Route, setHostname) {
zval *hostname_param = NULL;
zval *hostname = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &hostname_param);
if (unlikely(Z_TYPE_P(hostname_param) != IS_STRING && Z_TYPE_P(hostname_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'hostname' must be a string") TSRMLS_CC);
RETURN_MM_NULL();
}
if (likely(Z_TYPE_P(hostname_param) == IS_STRING)) {
zephir_get_strval(hostname, hostname_param);
} else {
ZEPHIR_INIT_VAR(hostname);
ZVAL_EMPTY_STRING(hostname);
}
zephir_update_property_this(this_ptr, SL("_hostname"), hostname TSRMLS_CC);
RETURN_THIS();
}
开发者ID:AlloVince,项目名称:cphalcon,代码行数:31,代码来源:route.zep.c
示例5: PHP_METHOD
/**
* Sets the element name
*/
PHP_METHOD(Phalcon_Forms_Element, setName) {
zval *name_param = NULL;
zval *name = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &name_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 a 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);
}
zephir_update_property_this(getThis(), SL("_name"), name TSRMLS_CC);
RETURN_THIS();
}
开发者ID:adam-rocska,项目名称:cphalcon,代码行数:27,代码来源:element.zep.c
示例6: PHP_METHOD
/**
* Sets a prefix for all routes added to the collection
*/
PHP_METHOD(Phalcon_Mvc_Micro_Collection, setPrefix) {
zval *prefix_param = NULL;
zval *prefix = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &prefix_param);
if (UNEXPECTED(Z_TYPE_P(prefix_param) != IS_STRING && Z_TYPE_P(prefix_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'prefix' must be a string") TSRMLS_CC);
RETURN_MM_NULL();
}
if (EXPECTED(Z_TYPE_P(prefix_param) == IS_STRING)) {
zephir_get_strval(prefix, prefix_param);
} else {
ZEPHIR_INIT_VAR(prefix);
ZVAL_EMPTY_STRING(prefix);
}
zephir_update_property_this(getThis(), SL("_prefix"), prefix TSRMLS_CC);
RETURN_THIS();
}
开发者ID:adam-rocska,项目名称:cphalcon,代码行数:27,代码来源:collection.zep.c
示例7: PHP_METHOD
/**
* Externally sets the view content
*
*<code>
* $this->view->setContent("<h1>hello</h1>");
*</code>
*/
PHP_METHOD(Phalcon_Mvc_View_Simple, setContent) {
zval *content_param = NULL;
zval *content = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &content_param);
if (unlikely(Z_TYPE_P(content_param) != IS_STRING && Z_TYPE_P(content_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'content' must be a string") TSRMLS_CC);
RETURN_MM_NULL();
}
if (likely(Z_TYPE_P(content_param) == IS_STRING)) {
zephir_get_strval(content, content_param);
} else {
ZEPHIR_INIT_VAR(content);
ZVAL_EMPTY_STRING(content);
}
zephir_update_property_this(this_ptr, SL("_content"), content TSRMLS_CC);
RETURN_THIS();
}
开发者ID:AlloVince,项目名称:cphalcon,代码行数:31,代码来源:simple.zep.c
示例8: PHP_METHOD
/**
* Sets the form's action
*/
PHP_METHOD(Phalcon_Forms_Form, setAction) {
zval *action_param = NULL;
zval *action = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &action_param);
if (UNEXPECTED(Z_TYPE_P(action_param) != IS_STRING && Z_TYPE_P(action_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'action' must be a string") TSRMLS_CC);
RETURN_MM_NULL();
}
if (EXPECTED(Z_TYPE_P(action_param) == IS_STRING)) {
zephir_get_strval(action, action_param);
} else {
ZEPHIR_INIT_VAR(action);
ZVAL_EMPTY_STRING(action);
}
zephir_update_property_this(this_ptr, SL("_action"), action TSRMLS_CC);
RETURN_THIS();
}
开发者ID:bschantz,项目名称:cphalcon,代码行数:27,代码来源:form.zep.c
示例9: PHP_METHOD
/**
* Sets a base path for all the generated paths
*
*<code>
* $url->setBasePath("/var/www/htdocs/");
*</code>
*/
PHP_METHOD(Phalcon_Mvc_Url, setBasePath) {
zval *basePath_param = NULL;
zval *basePath = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &basePath_param);
if (UNEXPECTED(Z_TYPE_P(basePath_param) != IS_STRING && Z_TYPE_P(basePath_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'basePath' must be a string") TSRMLS_CC);
RETURN_MM_NULL();
}
if (EXPECTED(Z_TYPE_P(basePath_param) == IS_STRING)) {
zephir_get_strval(basePath, basePath_param);
} else {
ZEPHIR_INIT_VAR(basePath);
ZVAL_EMPTY_STRING(basePath);
}
zephir_update_property_this(getThis(), SL("_basePath"), basePath TSRMLS_CC);
RETURN_THIS();
}
开发者ID:oscarmolinadev,项目名称:cphalcon,代码行数:31,代码来源:url.zep.c
示例10: PHP_METHOD
/**
* Sets the cipher algorithm
*/
PHP_METHOD(Phalcon_Crypt, setCipher) {
zval *cipher_param = NULL;
zval *cipher = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &cipher_param);
if (UNEXPECTED(Z_TYPE_P(cipher_param) != IS_STRING && Z_TYPE_P(cipher_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'cipher' must be a string") TSRMLS_CC);
RETURN_MM_NULL();
}
if (EXPECTED(Z_TYPE_P(cipher_param) == IS_STRING)) {
zephir_get_strval(cipher, cipher_param);
} else {
ZEPHIR_INIT_VAR(cipher);
ZVAL_EMPTY_STRING(cipher);
}
zephir_update_property_this(getThis(), SL("_cipher"), cipher TSRMLS_CC);
RETURN_THIS();
}
开发者ID:adam-rocska,项目名称:cphalcon,代码行数:27,代码来源:crypt.zep.c
示例11: PHP_METHOD
/**
* Sets verbose message
*/
PHP_METHOD(Phalcon_Mvc_Model_Message, setMessage) {
zval *message_param = NULL;
zval *message = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &message_param);
if (unlikely(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 a string") TSRMLS_CC);
RETURN_MM_NULL();
}
if (likely(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_this(this_ptr, SL("_message"), message TSRMLS_CC);
RETURN_THIS();
}
开发者ID:8V017UW2RQ70,项目名称:cphalcon,代码行数:27,代码来源:message.zep.c
示例12: PHP_METHOD
/**
* Sets a base source path for all the resources in this collection
*/
PHP_METHOD(Phalcon_Assets_Collection, setSourcePath) {
zval *sourcePath_param = NULL;
zval *sourcePath = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &sourcePath_param);
if (unlikely(Z_TYPE_P(sourcePath_param) != IS_STRING && Z_TYPE_P(sourcePath_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'sourcePath' must be a string") TSRMLS_CC);
RETURN_MM_NULL();
}
if (likely(Z_TYPE_P(sourcePath_param) == IS_STRING)) {
zephir_get_strval(sourcePath, sourcePath_param);
} else {
ZEPHIR_INIT_VAR(sourcePath);
ZVAL_EMPTY_STRING(sourcePath);
}
zephir_update_property_this(this_ptr, SL("_sourcePath"), sourcePath TSRMLS_CC);
RETURN_THIS();
}
开发者ID:AmazingDreams,项目名称:cphalcon,代码行数:27,代码来源:collection.zep.c
示例13: PHP_METHOD
/**
* Sets event type.
*/
PHP_METHOD(Phalcon_Events_Event, setType) {
zval *type_param = NULL;
zval *type = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &type_param);
if (unlikely(Z_TYPE_P(type_param) != IS_STRING && Z_TYPE_P(type_param) != IS_NULL)) {
zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'type' must be a string") TSRMLS_CC);
RETURN_MM_NULL();
}
if (likely(Z_TYPE_P(type_param) == IS_STRING)) {
zephir_get_strval(type, type_param);
} else {
ZEPHIR_INIT_VAR(type);
ZVAL_EMPTY_STRING(type);
}
zephir_update_property_this(this_ptr, SL("_type"), type TSRMLS_CC);
RETURN_THIS();
}
开发者ID:Studentsov,项目名称:cphalcon,代码行数:27,代码来源:event.zep.c
示例14: PHP_METHOD
/**
* Adds an element to the form
*/
PHP_METHOD(Phalcon_Forms_Form, add) {
HashTable *_4$$4;
HashPosition _3$$4;
zend_long ZEPHIR_LAST_CALL_STATUS;
zend_bool type, _0;
zval *position = NULL;
zval *element, *position_param = NULL, *type_param = NULL, *name = NULL, *key = NULL, *value = NULL, *elements = NULL, *_1, *_2$$4, **_5$$4;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 2, &element, &position_param, &type_param);
if (!position_param) {
ZEPHIR_INIT_VAR(position);
ZVAL_EMPTY_STRING(position);
} else {
zephir_get_strval(position, position_param);
}
if (!type_param) {
type = 0;
} else {
type = zephir_get_boolval(type_param);
}
ZEPHIR_CALL_METHOD(&name, element, "getname", NULL, 0);
zephir_check_call_status();
ZEPHIR_CALL_METHOD(NULL, element, "setform", NULL, 0, this_ptr);
zephir_check_call_status();
_0 = ZEPHIR_IS_STRING(position, "");
if (!(_0)) {
_1 = zephir_fetch_nproperty_this(this_ptr, SL("_elements"), PH_NOISY_CC);
_0 = ZEPHIR_IS_EMPTY(_1);
}
if (_0) {
zephir_update_property_array(this_ptr, SL("_elements"), name, element TSRMLS_CC);
} else {
ZEPHIR_INIT_VAR(elements);
array_init(elements);
_2$$4 = zephir_fetch_nproperty_this(this_ptr, SL("_elements"), PH_NOISY_CC);
zephir_is_iterable(_2$$4, &_4$$4, &_3$$4, 0, 0, "phalcon/forms/form.zep", 449);
for (
; zend_hash_get_current_data_ex(_4$$4, (void**) &_5$$4, &_3$$4) == SUCCESS
; zend_hash_move_forward_ex(_4$$4, &_3$$4)
) {
ZEPHIR_GET_HMKEY(key, _4$$4, _3$$4);
ZEPHIR_GET_HVALUE(value, _5$$4);
if (ZEPHIR_IS_EQUAL(key, position)) {
if (type) {
zephir_array_update_zval(&elements, name, &element, PH_COPY | PH_SEPARATE);
zephir_array_update_zval(&elements, key, &value, PH_COPY | PH_SEPARATE);
} else {
zephir_array_update_zval(&elements, key, &value, PH_COPY | PH_SEPARATE);
zephir_array_update_zval(&elements, name, &element, PH_COPY | PH_SEPARATE);
}
} else {
zephir_array_update_zval(&elements, key, &value, PH_COPY | PH_SEPARATE);
}
}
zephir_update_property_this(getThis(), SL("_elements"), elements TSRMLS_CC);
}
RETURN_THIS();
}
开发者ID:racztiborzoltan,项目名称:cphalcon,代码行数:67,代码来源:form.zep.c
示例15: PHP_METHOD
/**
* Logs messages to the internal logger. Appends logs to the logger
*/
PHP_METHOD(Phalcon_Logger_Adapter, log) {
int ZEPHIR_LAST_CALL_STATUS;
zend_bool _0, _1;
zval *context = NULL;
zval *type, *message = NULL, *context_param = NULL, *timestamp, *toggledMessage = NULL, *toggledType = NULL, *_2, *_3, *_4;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 2, &type, &message, &context_param);
if (!message) {
message = ZEPHIR_GLOBAL(global_null);
}
if (!context_param) {
ZEPHIR_INIT_VAR(context);
array_init(context);
} else {
context = context_param;
}
_0 = Z_TYPE_P(type) == IS_STRING;
if (_0) {
_0 = Z_TYPE_P(message) == IS_LONG;
}
if (_0) {
ZEPHIR_CPY_WRT(toggledMessage, type);
ZEPHIR_CPY_WRT(toggledType, message);
} else {
_1 = Z_TYPE_P(type) == IS_STRING;
if (_1) {
_1 = Z_TYPE_P(message) == IS_NULL;
}
if (_1) {
ZEPHIR_CPY_WRT(toggledMessage, type);
ZEPHIR_CPY_WRT(toggledType, message);
} else {
ZEPHIR_CPY_WRT(toggledMessage, message);
ZEPHIR_CPY_WRT(toggledType, type);
}
}
if (Z_TYPE_P(toggledType) == IS_NULL) {
ZEPHIR_INIT_NVAR(toggledType);
ZVAL_LONG(toggledType, 7);
}
_2 = zephir_fetch_nproperty_this(this_ptr, SL("_logLevel"), PH_NOISY_CC);
if (ZEPHIR_GE(_2, toggledType)) {
ZEPHIR_INIT_VAR(timestamp);
zephir_time(timestamp);
_3 = zephir_fetch_nproperty_this(this_ptr, SL("_transaction"), PH_NOISY_CC);
if (zephir_is_true(_3)) {
ZEPHIR_INIT_VAR(_4);
object_init_ex(_4, phalcon_logger_item_ce);
ZEPHIR_CALL_METHOD(NULL, _4, "__construct", NULL, 52, toggledMessage, toggledType, timestamp, context);
zephir_check_call_status();
zephir_update_property_array_append(this_ptr, SL("_queue"), _4 TSRMLS_CC);
} else {
ZEPHIR_CALL_METHOD(NULL, this_ptr, "loginternal", NULL, 0, toggledMessage, toggledType, timestamp, context);
zephir_check_call_status();
}
}
RETURN_THIS();
}
开发者ID:raphaelfruneaux,项目名称:cphalcon,代码行数:68,代码来源:adapter.zep.c
示例16: PHP_METHOD
/**
* Sets the expiration time for this cache item.
*
* @param int|\DateInterval time
* The period of time from the present after which the item MUST be considered
* expired. An integer parameter is understood to be the time in seconds until
* expiration. If null is passed explicitly, a default value MAY be used.
* If none is set, the value should be stored permanently or for as long as the
* implementation allows.
*
* @return \Xpl\Cache\Item
* The called object.
*/
PHP_METHOD(Xpl_Cache_Item, expiresAfter) {
zend_class_entry *_6$$7;
int ZEPHIR_LAST_CALL_STATUS;
zval *time, *_0$$3, *_1$$3, *_2$$3, *_3$$5, *_4$$5, *_5$$7 = NULL, *_7$$7, *_8$$7 = NULL, *_9$$7 = NULL, *_10$$7 = NULL, *_11$$8, *_12$$8 = NULL, _13$$8, *_14$$8 = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 1, 0, &time);
if (Z_TYPE_P(time) == IS_NULL) {
ZEPHIR_INIT_VAR(_0$$3);
zephir_time(_0$$3);
_1$$3 = zephir_fetch_nproperty_this(this_ptr, SL("defaultTtl"), PH_NOISY_CC);
ZEPHIR_INIT_VAR(_2$$3);
zephir_add_function(_2$$3, _0$$3, _1$$3);
zephir_update_property_this(this_ptr, SL("expires"), _2$$3 TSRMLS_CC);
} else {
if (Z_TYPE_P(time) == IS_LONG) {
ZEPHIR_INIT_VAR(_3$$5);
zephir_time(_3$$5);
ZEPHIR_INIT_VAR(_4$$5);
zephir_add_function(_4$$5, _3$$5, time);
zephir_update_property_this(this_ptr, SL("expires"), _4$$5 TSRMLS_CC);
} else {
if (zephir_instance_of_ev(time, zephir_get_internal_ce(SS("dateinterval") TSRMLS_CC) TSRMLS_CC)) {
_6$$7 = zend_fetch_class(SL("DateTime"), ZEND_FETCH_CLASS_AUTO TSRMLS_CC);
ZEPHIR_INIT_VAR(_7$$7);
zephir_time(_7$$7);
ZEPHIR_INIT_VAR(_8$$7);
ZVAL_STRING(_8$$7, "U", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_CALL_CE_STATIC(&_5$$7, _6$$7, "createfromformat", NULL, 0, _8$$7, _7$$7);
zephir_check_temp_parameter(_8$$7);
zephir_check_call_status();
ZEPHIR_CALL_METHOD(&_9$$7, _5$$7, "add", NULL, 0, time);
zephir_check_call_status();
ZEPHIR_INIT_NVAR(_8$$7);
ZVAL_STRING(_8$$7, "U", ZEPHIR_TEMP_PARAM_COPY);
ZEPHIR_CALL_METHOD(&_10$$7, _9$$7, "format", NULL, 0, _8$$7);
zephir_check_temp_parameter(_8$$7);
zephir_check_call_status();
zephir_update_property_this(this_ptr, SL("expires"), _10$$7 TSRMLS_CC);
} else {
ZEPHIR_INIT_VAR(_11$$8);
object_init_ex(_11$$8, xpl_cache_invalidargumentexception_ce);
ZEPHIR_INIT_VAR(_12$$8);
if (Z_TYPE_P(time) == IS_OBJECT) {
ZEPHIR_INIT_NVAR(_12$$8);
zephir_get_class(_12$$8, time, 0 TSRMLS_CC);
} else {
ZEPHIR_INIT_NVAR(_12$$8);
zephir_gettype(_12$$8, time TSRMLS_CC);
}
ZEPHIR_SINIT_VAR(_13$$8);
ZVAL_STRING(&_13$$8, "Expiration date must be integer, DateInterval or null, given: \"%s\".", 0);
ZEPHIR_CALL_FUNCTION(&_14$$8, "sprintf", NULL, 41, &_13$$8, _12$$8);
zephir_check_call_status();
ZEPHIR_CALL_METHOD(NULL, _11$$8, "__construct", NULL, 42, _14$$8);
zephir_check_call_status();
zephir_throw_exception_debug(_11$$8, "xpl/cache/item.zep", 181 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
}
}
RETURN_THIS();
}
开发者ID:wells5609,项目名称:xpl,代码行数:82,代码来源:item.zep.c
示例17: PHP_METHOD
/**
* Appends a NOT IN condition to the current conditions
*
*<code>
* $criteria->notInWhere('id', [1, 2, 3]);
*</code>
*
* @param string $expr
* @param array $values
* @return Phalcon\Mvc\Model\Query\Builder
*/
PHP_METHOD(Phalcon_Mvc_Model_Criteria, notInWhere){
zval *expr, *values, *hidden_param, *bind_params;
zval *bind_keys, *value = NULL, *key = NULL, *query_key = NULL, *joined_keys;
zval *conditions;
HashTable *ah0;
HashPosition hp0;
zval **hd;
PHALCON_MM_GROW();
phalcon_fetch_params(1, 2, 0, &expr, &values);
if (Z_TYPE_P(values) != IS_ARRAY) {
PHALCON_THROW_EXCEPTION_STR(phalcon_mvc_model_exception_ce, "Values must be an array");
return;
}
PHALCON_OBS_VAR(hidden_param);
phalcon_read_property_this(&hidden_param, this_ptr, SL("_hiddenParamNumber"), PH_NOISY_CC);
PHALCON_INIT_VAR(bind_params);
array_init(bind_params);
PHALCON_INIT_VAR(bind_keys);
array_init(bind_keys);
phalcon_is_iterable(values, &ah0, &hp0, 0, 0);
while (zend_hash_get_current_data_ex(ah0, (void**) &hd, &hp0) == SUCCESS) {
PHALCON_GET_HVALUE(value);
/**
* Key with auto bind-params
*/
PHALCON_INIT_NVAR(key);
PHALCON_CONCAT_SV(key, "phi", hidden_param);
PHALCON_INIT_NVAR(query_key);
PHALCON_CONCAT_SVS(query_key, ":", key, ":");
phalcon_array_append(&bind_keys, query_key, PH_SEPARATE TSRMLS_CC);
phalcon_array_update_zval(&bind_params, key, &value, PH_COPY | PH_SEPARATE TSRMLS_CC);
PHALCON_SEPARATE(hidden_param);
phalcon_increment(hidden_param);
zend_hash_move_forward_ex(ah0, &hp0);
}
PHALCON_INIT_VAR(joined_keys);
phalcon_fast_join_str(joined_keys, SL(", "), bind_keys TSRMLS_CC);
/**
* Create a standard IN condition with bind params
*/
PHALCON_INIT_VAR(conditions);
PHALCON_CONCAT_VSVS(conditions, expr, " NOT IN (", joined_keys, ")");
/**
* Append the IN to the current conditions using and 'and'
*/
phalcon_call_method_p2_noret(this_ptr, "andwhere", conditions, bind_params);
phalcon_update_property_this(this_ptr, SL("_hiddenParamNumber"), hidden_param TSRMLS_CC);
RETURN_THIS();
}
开发者ID:RSivakov,项目名称:cphalcon,代码行数:77,代码来源:criteria.c
示例18: PHP_METHOD
//.........这里部分代码省略.........
} else {
if (Z_TYPE_P(converters) == IS_ARRAY) {
ZEPHIR_OBS_NVAR(converter);
if (zephir_array_isset_fetch(&converter, converters, part, 0 TSRMLS_CC)) {
ZEPHIR_INIT_NVAR(_9);
ZEPHIR_INIT_NVAR(_10);
zephir_create_array(_10, 1, 0 TSRMLS_CC);
zephir_array_fast_append(_10, position);
ZEPHIR_CALL_USER_FUNC_ARRAY(_9, converter, _10);
zephir_check_call_status();
zephir_array_update_zval(&parts, part, &_9, PH_COPY | PH_SEPARATE);
}
}
}
}
zephir_update_property_this(this_ptr, SL("_matches"), matches TSRMLS_CC);
}
zephir_update_property_this(this_ptr, SL("_matchedRoute"), route TSRMLS_CC);
break;
}
}
if (zephir_is_true(routeFound)) {
zephir_update_property_this(this_ptr, SL("_wasMatched"), (1) ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
} else {
zephir_update_property_this(this_ptr, SL("_wasMatched"), (0) ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC);
_11 = zephir_fetch_nproperty_this(this_ptr, SL("_defaultModule"), PH_NOISY_CC);
zephir_update_property_this(this_ptr, SL("_module"), _11 TSRMLS_CC);
_12 = zephir_fetch_nproperty_this(this_ptr, SL("_defaultTask"), PH_NOISY_CC);
zephir_update_property_this(this_ptr, SL("_task"), _12 TSRMLS_CC);
_13 = zephir_fetch_nproperty_this(this_ptr, SL("_defaultAction"), PH_NOISY_CC);
zephir_update_property_this(this_ptr, SL("_action"), _13 TSRMLS_CC);
_14 = zephir_fetch_nproperty_this(this_ptr, SL("_defaultParams"), PH_NOISY_CC);
zephir_update_property_this(this_ptr, SL("_params"), _14 TSRMLS_CC);
RETURN_THIS();
}
} else {
ZEPHIR_CPY_WRT(parts, arguments);
}
ZEPHIR_INIT_VAR(moduleName);
ZVAL_NULL(moduleName);
ZEPHIR_INIT_VAR(taskName);
ZVAL_NULL(taskName);
ZEPHIR_INIT_VAR(actionName);
ZVAL_NULL(actionName);
ZEPHIR_OBS_NVAR(moduleName);
if (zephir_array_isset_string_fetch(&moduleName, parts, SS("module"), 0 TSRMLS_CC)) {
zephir_array_unset_string(&parts, SS("module"), PH_SEPARATE);
} else {
ZEPHIR_OBS_NVAR(moduleName);
zephir_read_property_this(&moduleName, this_ptr, SL("_defaultModule"), PH_NOISY_CC);
}
ZEPHIR_OBS_NVAR(taskName);
if (zephir_array_isset_string_fetch(&taskName, parts, SS("task"), 0 TSRMLS_CC)) {
zephir_array_unset_string(&parts, SS("task"), PH_SEPARATE);
} else {
ZEPHIR_OBS_NVAR(taskName);
zephir_read_property_this(&taskName, this_ptr, SL("_defaultTask"), PH_NOISY_CC);
}
ZEPHIR_OBS_NVAR(actionName);
if (zephir_array_isset_string_fetch(&actionName, parts, SS("action"), 0 TSRMLS_CC)) {
zephir_array_unset_string(&parts, SS("action"), PH_SEPARATE);
} else {
ZEPHIR_OBS_NVAR(actionName);
zephir_read_property_this(&actionName, this_ptr, SL("_defaultAction"), PH_NOISY_CC);
}
if (zephir_is_true(routeFound)) {
开发者ID:spuy767,项目名称:cphalcon,代码行数:67,代码来源:router.zep.c
示例19: PHP_METHOD
/**
* Sets a Expires header to use HTTP cache
*
*<code>
* $this->response->setExpires(new DateTime());
*</code>
*
* @param DateTime $datetime
* @return Phalcon\Http\ResponseInterface
*/
PHP_METHOD(Phalcon_Http_Response, setExpires){
zval *datetime, *headers, *date, *utc_zone, *timezone;
zval *format, *utc_format, *utc_date, *expires_header;
zend_class_entry *ce0;
PHALCON_MM_GROW();
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &datetime) == FAILURE) {
RETURN_MM_NULL();
}
if (Z_TYPE_P(datetime) != IS_OBJECT) {
PHALCON_THROW_EXCEPTION_STR(phalcon_http_response_exception_ce, "datetime parameter must be an instance of DateTime");
return;
}
PHALCON_INIT_VAR(headers);
PHALCON_CALL_METHOD(headers, this_ptr, "getheaders");
PHALCON_INIT_VAR(date);
if (phalcon_clone(date, datetime TSRMLS_CC) == FAILURE) {
return;
}
/**
* All the expiration times are sent in UTC
*/
PHALCON_INIT_VAR(utc_zone);
ZVAL_STRING(utc_zone, "UTC", 1);
ce0 = zend_fetch_class(SL("DateTimeZone"), ZEND_FETCH_CLASS_AUTO TSRMLS_CC);
PHALCON_INIT_VAR(timezone);
object_init_ex(timezone, ce0);
if (phalcon_has_constructor(timezone TSRMLS_CC)) {
PHALCON_CALL_METHOD_PARAMS_1_NORETURN(timezone, "__construct", utc_zone);
}
/**
* Change the timezone to utc
*/
PHALCON_CALL_METHOD_PARAMS_1_NORETURN(date, "settimezone", timezone);
PHALCON_INIT_VAR(format);
ZVAL_STRING(format, "D, d M Y H:i:s", 1);
PHALCON_INIT_VAR(utc_format);
PHALCON_CALL_METHOD_PARAMS_1(utc_format, date, "format", format);
PHALCON_INIT_VAR(utc_date);
PHALCON_CONCAT_VS(utc_date, utc_format, " GMT");
/**
* The 'Expires' header set this info
*/
PHALCON_INIT_VAR(expires_header);
ZVAL_STRING(expires_header, "Expires", 1);
PHALCON_CALL_METHOD_PARAMS_2_NORETURN(this_ptr, "setheader", expires_header, utc_date);
RETURN_THIS();
}
开发者ID:BlueShark,项目名称:cphalcon,代码行数:71,代码来源:response.c
示例20: PHP_METHOD
/**
* Reads the cookie-related info from the SESSION to restore the cookie as it was set
* This method is automatically called internally so normally you don't need to call it
*
* @return Phalcon\Http\Cookie
*/
PHP_METHOD(Phalcon_Http_Cookie, restore){
zval *restored, *dependency_injector, *service;
zval *session, *name, *key, *definition, *expire, *domain;
zval *path, *secure, *http_only;
PHALCON_MM_GROW();
PHALCON_OBS_VAR(restored);
phalcon_read_property_this(&restored, this_ptr, SL("_restored"), PH_NOISY_CC);
if (!zend_is_true(restored)) {
PHALCON_OBS_VAR(dependency_injector);
phalcon_read_property_this(&dependency_injector, this_ptr, SL("_dependencyInjector"), PH_NOISY_CC);
if (Z_TYPE_P(dependency_injector) == IS_OBJECT) {
PHALCON_INIT_VAR(service);
ZVAL_STRING(service, "session", 1);
PHALCON_INIT_VAR(session);
phalcon_call_method_p1(session, dependency_injector, "getshared", service);
PHALCON_OBS_VAR(name);
phalcon_read_property_this(&name, this_ptr, SL("_name"), PH_NOISY_CC);
PHALCON_INIT_VAR(key);
PHALCON_CONCAT_SV(key, "_PHCOOKIE_", name);
PHALCON_INIT_VAR(definition);
phalcon_call_method_p1(definition, session, "get", key);
if (Z_TYPE_P(definition) == IS_ARRAY) {
if (phalcon_array_isset_string(definition, SS("expire"))) {
PHALCON_OBS_VAR(expire);
phalcon_array_fetch_string(&expire, definition, SL("expire"), PH_NOISY);
phalcon_update_property_this(this_ptr, SL("_expire"), expire TSRMLS_CC);
}
if (phalcon_array_isset_string(definition, SS("domain"))) {
PHALCON_OBS_VAR(domain);
phalcon_array_fetch_string(&domain, definition, SL("domain"), PH_NOISY);
phalcon_update_property_this(this_ptr, SL("_domain"), domain TSRMLS_CC);
}
if (phalcon_array_isset_string(definition, SS("path"))) {
PHALCON_OBS_VAR(path);
phalcon_array_fetch_string(&path, definition, SL("path"), PH_NOISY);
phalcon_update_property_this(this_ptr, SL("_path"), path TSRMLS_CC);
}
if (phalcon_array_isset_string(definition, SS("secure"))) {
PHALCON_OBS_VAR(secure);
phalcon_array_fetch_string(&secure, definition, SL("secure"), PH_NOISY);
phalcon_update_property_this(this_ptr, SL("_secure"), secure TSRMLS_CC);
}
if (phalcon_array_isset_string(definition, SS("httpOnly"))) {
PHALCON_OBS_VAR(http_only);
phalcon_array_fetch_string(&http_only, definition, SL("httpOnly"), PH_NOISY);
phalcon_update_property_this(this_ptr, SL("_httpOnly"), http_only TSRMLS_CC);
}
}
}
phalcon_update_property_bool(this_ptr, SL("_restored"), 1 TSRMLS_CC);
}
RETURN_THIS();
}
开发者ID:Diego-Brocanelli,项目名称:cphalcon,代码行数:73,代码来源:cookie.c
注:本文中的RETURN_THIS函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论