本文整理汇总了C++中PHALCON_OBS_VAR函数的典型用法代码示例。如果您正苦于以下问题:C++ PHALCON_OBS_VAR函数的具体用法?C++ PHALCON_OBS_VAR怎么用?C++ PHALCON_OBS_VAR使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PHALCON_OBS_VAR函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PHP_METHOD
/**
* Returns headers set by the user
*
* @return Phalcon\Http\Response\HeadersInterface
*/
PHP_METHOD(Phalcon_Http_Response, getHeaders){
zval *headers = NULL;
PHALCON_MM_GROW();
PHALCON_OBS_VAR(headers);
phalcon_read_property(&headers, this_ptr, SL("_headers"), PH_NOISY_CC);
if (Z_TYPE_P(headers) == IS_NULL) {
/**
* A Phalcon\Http\Response\Headers bag is temporary used to manage the headers
* before sent them to the client
*/
PHALCON_INIT_NVAR(headers);
object_init_ex(headers, phalcon_http_response_headers_ce);
PHALCON_CALL_METHOD_NORETURN(headers, "__construct");
phalcon_update_property_zval(this_ptr, SL("_headers"), headers TSRMLS_CC);
}
RETURN_CCTOR(headers);
}
示例2: PHP_METHOD
/**
* Returns the CSS collection of assets
*
* @return Phalcon\Assets\Collection
*/
PHP_METHOD(Phalcon_Assets_Manager, getJs){
zval *collections, *collection = NULL;
PHALCON_MM_GROW();
PHALCON_OBS_VAR(collections);
phalcon_read_property_this(&collections, this_ptr, SL("_collections"), PH_NOISY_CC);
/**
* Check if the collection does not exist and create an implicit collection
*/
if (!phalcon_array_isset_string(collections, SS("js"))) {
PHALCON_INIT_VAR(collection);
object_init_ex(collection, phalcon_assets_collection_ce);
RETURN_CTOR(collection);
}
PHALCON_OBS_NVAR(collection);
phalcon_array_fetch_string(&collection, collections, SL("js"), PH_NOISY_CC);
RETURN_CCTOR(collection);
}
示例3: PHP_METHOD
/**
* Returns the cache instance used to cache
*
* @return Phalcon\Cache\BackendInterface
*/
PHP_METHOD(Phalcon_Mvc_View, getCache){
zval *cache = NULL;
PHALCON_MM_GROW();
PHALCON_OBS_VAR(cache);
phalcon_read_property_this(&cache, this_ptr, SL("_cache"), PH_NOISY_CC);
if (zend_is_true(cache)) {
if (Z_TYPE_P(cache) != IS_OBJECT) {
PHALCON_INIT_NVAR(cache);
PHALCON_CALL_METHOD(cache, this_ptr, "_createcache");
phalcon_update_property_this(this_ptr, SL("_cache"), cache TSRMLS_CC);
}
} else {
PHALCON_INIT_NVAR(cache);
PHALCON_CALL_METHOD(cache, this_ptr, "_createcache");
phalcon_update_property_this(this_ptr, SL("_cache"), cache TSRMLS_CC);
}
RETURN_CCTOR(cache);
}
示例4: PHP_METHOD
/**
* Appends a condition to the current conditions using a OR operator
*
*<code>
* $builder->orWhere('name = :name: AND id > :id:');
*</code>
*
* @param string $conditions
* @return Phalcon\Mvc\Model\Query\Builder
*/
PHP_METHOD(Phalcon_Mvc_Model_Query_Builder, orWhere){
zval *conditions, *current_conditions, *new_conditions = NULL;
PHALCON_MM_GROW();
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &conditions) == FAILURE) {
RETURN_MM_NULL();
}
PHALCON_OBS_VAR(current_conditions);
phalcon_read_property(¤t_conditions, this_ptr, SL("_conditions"), PH_NOISY_CC);
if (zend_is_true(current_conditions)) {
PHALCON_INIT_VAR(new_conditions);
PHALCON_CONCAT_SVSVS(new_conditions, "(", current_conditions, ") OR (", conditions, ")");
} else {
PHALCON_CPY_WRT(new_conditions, current_conditions);
}
phalcon_update_property_zval(this_ptr, SL("_conditions"), new_conditions TSRMLS_CC);
RETURN_THIS();
}
示例5: PHP_METHOD
/**
* Returns the messages that belongs to the element
* The element needs to be attached to a form
*
* @return Phalcon\Validation\Message\Group
*/
PHP_METHOD(Phalcon_Forms_Element, getMessages){
zval *messages = NULL;
PHALCON_MM_GROW();
/**
* Get the related form
*/
PHALCON_OBS_VAR(messages);
phalcon_read_property_this(&messages, this_ptr, SL("_messages"), PH_NOISY_CC);
if (Z_TYPE_P(messages) == IS_OBJECT) {
RETURN_CCTOR(messages);
}
PHALCON_INIT_NVAR(messages);
object_init_ex(messages, phalcon_validation_message_group_ce);
phalcon_call_method_noret(messages, "__construct");
phalcon_update_property_this(this_ptr, SL("_messages"), messages TSRMLS_CC);
RETURN_CCTOR(messages);
}
示例6: PHP_METHOD
/**
* Checks whether request has been made using SOAP
*
* @return boolean
*/
PHP_METHOD(Phalcon_Http_Request, isSoapRequested){
zval *server = NULL, *_SERVER, *content_type;
PHALCON_MM_GROW();
phalcon_get_global(&_SERVER, SS("_SERVER") TSRMLS_CC);
PHALCON_CPY_WRT(server, _SERVER);
if (phalcon_array_isset_string(server, SS("HTTP_SOAPACTION"))) {
RETURN_MM_TRUE;
} else {
if (phalcon_array_isset_string(server, SS("CONTENT_TYPE"))) {
PHALCON_OBS_VAR(content_type);
phalcon_array_fetch_string(&content_type, server, SL("CONTENT_TYPE"), PH_NOISY_CC);
if (phalcon_memnstr_str(content_type, SL("application/soap+xml") TSRMLS_CC)) {
RETURN_MM_TRUE;
}
}
}
RETURN_MM_FALSE;
}
示例7: PHP_METHOD
/**
* Phalcon\Cache\Backend\File constructor
*
* @param Phalcon\Cache\FrontendInterface $frontend
* @param array $options
*/
PHP_METHOD(Phalcon_Cache_Backend_File, __construct){
zval *frontend, *options = NULL, *cache_dir;
PHALCON_MM_GROW();
phalcon_fetch_params(1, 1, 1, &frontend, &options);
if (!options) {
PHALCON_INIT_VAR(options);
}
if (!phalcon_array_isset_string(options, SS("cacheDir"))) {
PHALCON_THROW_EXCEPTION_STR(phalcon_cache_exception_ce, "Cache directory must be specified with the option cacheDir");
return;
}
PHALCON_OBS_VAR(cache_dir);
phalcon_array_fetch_string(&cache_dir, options, SL("cacheDir"), PH_NOISY);
PHALCON_CALL_PARENT_PARAMS_2_NORETURN(this_ptr, "Phalcon\\Cache\\Backend\\File", "__construct", frontend, options);
PHALCON_MM_RESTORE();
}
示例8: PHP_METHOD
/**
* Check whether the DI contains a service by a name
*
* @param string $name
* @return boolean
*/
PHP_METHOD(Phalcon_DI, has){
zval *name, *services, *is_set_service = NULL;
zval *r0 = NULL;
PHALCON_MM_GROW();
phalcon_fetch_params(1, 1, 0, &name);
if (Z_TYPE_P(name) != IS_STRING) {
PHALCON_THROW_EXCEPTION_STR(phalcon_di_exception_ce, "The service alias must be a string");
return;
}
PHALCON_OBS_VAR(services);
phalcon_read_property_this(&services, this_ptr, SL("_services"), PH_NOISY_CC);
PHALCON_INIT_VAR(r0);
ZVAL_BOOL(r0, phalcon_array_isset(services, name));
PHALCON_CPY_WRT(is_set_service, r0);
RETURN_NCTOR(is_set_service);
}
示例9: PHP_METHOD
/**
* Add a model to take part of the query
*
*<code>
* $builder->addFrom('Robots', 'r');
*</code>
*
* @param string $model
* @param string $alias
* @return Phalcon\Mvc\Model\Query\Builder
*/
PHP_METHOD(Phalcon_Mvc_Model_Query_Builder, addFrom){
zval *model, *alias = NULL, *models = NULL, *current_model = NULL;
PHALCON_MM_GROW();
phalcon_fetch_params(1, 1, 1, &model, &alias);
if (!alias) {
PHALCON_INIT_VAR(alias);
}
PHALCON_OBS_VAR(models);
phalcon_read_property_this(&models, this_ptr, SL("_models"), PH_NOISY_CC);
if (Z_TYPE_P(models) != IS_ARRAY) {
if (Z_TYPE_P(models) != IS_NULL) {
PHALCON_CPY_WRT(current_model, models);
PHALCON_INIT_NVAR(models);
array_init(models);
phalcon_array_append(&models, current_model, PH_SEPARATE);
} else {
PHALCON_INIT_NVAR(models);
array_init(models);
}
}
if (Z_TYPE_P(alias) == IS_STRING) {
phalcon_array_update_zval(&models, alias, &model, PH_COPY | PH_SEPARATE);
} else {
phalcon_array_append(&models, model, PH_SEPARATE);
}
phalcon_update_property_this(this_ptr, SL("_models"), models TSRMLS_CC);
RETURN_THIS();
}
示例10: PHP_METHOD
/**
* Returns the messages in the session flasher
*
* @param string $type
* @param boolean $remove
* @return array
*/
PHP_METHOD(Phalcon_Flash_Session, getMessages){
zval *type = NULL, *remove = NULL, *messages, *return_messages;
zval *empty_arr;
PHALCON_MM_GROW();
phalcon_fetch_params(1, 0, 2, &type, &remove);
if (!type) {
PHALCON_INIT_VAR(type);
}
if (!remove) {
PHALCON_INIT_VAR(remove);
ZVAL_BOOL(remove, 1);
}
PHALCON_INIT_VAR(messages);
PHALCON_CALL_METHOD_PARAMS_1(messages, this_ptr, "_getsessionmessages", remove);
if (Z_TYPE_P(messages) == IS_ARRAY) {
if (Z_TYPE_P(type) == IS_STRING) {
if (phalcon_array_isset(messages, type)) {
PHALCON_OBS_VAR(return_messages);
phalcon_array_fetch(&return_messages, messages, type, PH_NOISY_CC);
RETURN_CCTOR(return_messages);
}
}
RETURN_CCTOR(messages);
}
PHALCON_INIT_VAR(empty_arr);
array_init(empty_arr);
RETURN_CTOR(empty_arr);
}
示例11: PHP_METHOD
/**
* Throws an internal exception
*
* @param string $message
* @param int $exceptionCode
*/
PHP_METHOD(Phalcon_CLI_Dispatcher, _throwDispatchException){
zval *message, *exception_code = NULL, *exception, *events_manager;
zval *event_name, *status;
PHALCON_MM_GROW();
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|z", &message, &exception_code) == FAILURE) {
RETURN_MM_NULL();
}
if (!exception_code) {
PHALCON_INIT_VAR(exception_code);
ZVAL_LONG(exception_code, 0);
}
PHALCON_INIT_VAR(exception);
object_init_ex(exception, phalcon_cli_dispatcher_exception_ce);
PHALCON_CALL_METHOD_PARAMS_2_NORETURN(exception, "__construct", message, exception_code);
PHALCON_OBS_VAR(events_manager);
phalcon_read_property(&events_manager, this_ptr, SL("_eventsManager"), PH_NOISY_CC);
if (Z_TYPE_P(events_manager) == IS_OBJECT) {
PHALCON_INIT_VAR(event_name);
ZVAL_STRING(event_name, "dispatch:beforeException", 1);
PHALCON_INIT_VAR(status);
PHALCON_CALL_METHOD_PARAMS_3(status, events_manager, "fire", event_name, this_ptr, exception);
if (PHALCON_IS_FALSE(status)) {
RETURN_MM_FALSE;
}
}
phalcon_throw_exception(exception TSRMLS_CC);
return;
}
示例12: PHP_METHOD
/**
* Starts every backend
*
* @param int|string $keyName
* @param long $lifetime
* @return mixed
*/
PHP_METHOD(Phalcon_Cache_Multiple, start){
zval *key_name, *lifetime = NULL, *backends, *backend = NULL;
HashTable *ah0;
HashPosition hp0;
zval **hd;
PHALCON_MM_GROW();
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|z", &key_name, &lifetime) == FAILURE) {
RETURN_MM_NULL();
}
if (!lifetime) {
PHALCON_INIT_VAR(lifetime);
}
PHALCON_OBS_VAR(backends);
phalcon_read_property(&backends, this_ptr, SL("_backends"), PH_NOISY_CC);
if (!phalcon_is_iterable(backends, &ah0, &hp0, 0, 0 TSRMLS_CC)) {
return;
}
while (zend_hash_get_current_data_ex(ah0, (void**) &hd, &hp0) == SUCCESS) {
PHALCON_GET_FOREACH_VALUE(backend);
PHALCON_CALL_METHOD_PARAMS_2_NORETURN(backend, "start", key_name, lifetime);
zend_hash_move_forward_ex(ah0, &hp0);
}
PHALCON_MM_RESTORE();
}
示例13: PHP_METHOD
/**
* Returns the insert id for the auto_increment/serial column inserted in the lastest executed SQL statement
*
*<code>
* //Inserting a new robot
* $success = $connection->insert(
* "robots",
* array("Astro Boy", 1952),
* array("name", "year")
* );
*
* //Getting the generated id
* $id = $connection->lastInsertId();
*</code>
*
* @param string $sequenceName
* @return int
*/
PHP_METHOD(Phalcon_Db_Adapter_Pdo_Oracle, lastInsertId) {
zval *sequence_name = NULL, *sql, *fetch_num, *ret = NULL, *insert_id;
PHALCON_MM_GROW();
phalcon_fetch_params(1, 0, 1, &sequence_name);
if (!sequence_name) {
sequence_name = PHALCON_GLOBAL(z_null);
}
PHALCON_INIT_VAR(sql);
PHALCON_CONCAT_SVS(sql, "SELECT ", sequence_name, ".CURRVAL FROM dual");
PHALCON_INIT_VAR(fetch_num);
ZVAL_LONG(fetch_num, PDO_FETCH_NUM);
PHALCON_CALL_METHOD(&ret, this_ptr, "fetchall", sql, fetch_num);
PHALCON_OBS_VAR(insert_id);
phalcon_array_fetch_long(&insert_id, ret, 0, PH_NOISY);
RETURN_CCTOR(insert_id);
}
示例14: PHP_METHOD
/**
* Removes all events from the EventsManager
*
* @param string $type
*/
PHP_METHOD(Phalcon_Events_Manager, detachAll){
zval *type = NULL, *events = NULL;
PHALCON_MM_GROW();
phalcon_fetch_params(1, 0, 1, &type);
if (!type) {
PHALCON_INIT_VAR(type);
}
PHALCON_OBS_VAR(events);
phalcon_read_property_this(&events, this_ptr, SL("_events"), PH_NOISY_CC);
if (Z_TYPE_P(type) == IS_NULL) {
PHALCON_INIT_NVAR(events);
} else {
phalcon_array_unset(&events, type, PH_SEPARATE);
}
phalcon_update_property_this(this_ptr, SL("_events"), events TSRMLS_CC);
PHALCON_MM_RESTORE();
}
示例15: PHP_METHOD
/**
* Commmits active transactions within the manager
*
*/
PHP_METHOD(Phalcon_Mvc_Model_Transaction_Manager, commit){
zval *transactions, *transaction = NULL, *connection = NULL;
zval *is_under_transaction = NULL;
HashTable *ah0;
HashPosition hp0;
zval **hd;
PHALCON_MM_GROW();
PHALCON_OBS_VAR(transactions);
phalcon_read_property_this(&transactions, this_ptr, SL("_transactions"), PH_NOISY_CC);
if (Z_TYPE_P(transactions) == IS_ARRAY) {
phalcon_is_iterable(transactions, &ah0, &hp0, 0, 0);
while (zend_hash_get_current_data_ex(ah0, (void**) &hd, &hp0) == SUCCESS) {
PHALCON_GET_HVALUE(transaction);
PHALCON_INIT_NVAR(connection);
phalcon_call_method(connection, transaction, "getconnection");
PHALCON_INIT_NVAR(is_under_transaction);
phalcon_call_method(is_under_transaction, connection, "isundertransaction");
if (zend_is_true(is_under_transaction)) {
phalcon_call_method_noret(connection, "commit");
}
zend_hash_move_forward_ex(ah0, &hp0);
}
}
PHALCON_MM_RESTORE();
}