/** * Returns the prefix for all the generated urls. By default / */ PHP_METHOD(Phalcon_Mvc_Url, getBaseUri) { zval *_SERVER, baseUri, phpSelf, uri, _0; zval *this_ptr = getThis(); ZVAL_UNDEF(&baseUri); ZVAL_UNDEF(&phpSelf); ZVAL_UNDEF(&uri); ZVAL_UNDEF(&_0); ZEPHIR_MM_GROW(); zephir_get_global(&_SERVER, SL("_SERVER")); zephir_read_property(&_0, this_ptr, SL("baseUri"), PH_NOISY_CC | PH_READONLY); ZEPHIR_CPY_WRT(&baseUri, &_0); if (Z_TYPE_P(&baseUri) == IS_NULL) { ZEPHIR_OBS_VAR(&phpSelf); if (zephir_array_isset_string_fetch(&phpSelf, _SERVER, SL("PHP_SELF"), 0)) { ZEPHIR_INIT_VAR(&uri); phalcon_get_uri(&uri, &phpSelf); } else { ZEPHIR_INIT_NVAR(&uri); ZVAL_NULL(&uri); } ZEPHIR_INIT_NVAR(&baseUri); if (!(zephir_is_true(&uri))) { ZVAL_STRING(&baseUri, "/"); } else { ZEPHIR_CONCAT_SVS(&baseUri, "/", &uri, "/"); } zephir_update_property_zval(this_ptr, SL("baseUri"), &baseUri); } RETURN_CCTOR(&baseUri); }
/** * Returns the prefix for all the generated urls. By default / */ PHP_METHOD(Phalcon_Mvc_Url, getBaseUri) { zval *_SERVER, *baseUri = NULL, *phpSelf = NULL, *uri = NULL; ZEPHIR_MM_GROW(); zephir_get_global(&_SERVER, SS("_SERVER") TSRMLS_CC); ZEPHIR_OBS_VAR(baseUri); zephir_read_property_this(&baseUri, this_ptr, SL("_baseUri"), PH_NOISY_CC); if (Z_TYPE_P(baseUri) == IS_NULL) { ZEPHIR_OBS_VAR(phpSelf); if (zephir_array_isset_string_fetch(&phpSelf, _SERVER, SS("PHP_SELF"), 0 TSRMLS_CC)) { ZEPHIR_INIT_VAR(uri); phalcon_get_uri(uri, phpSelf); } else { ZEPHIR_INIT_NVAR(uri); ZVAL_NULL(uri); } ZEPHIR_INIT_NVAR(baseUri); if (!(zephir_is_true(uri))) { ZVAL_STRING(baseUri, "/", 1); } else { ZEPHIR_CONCAT_SVS(baseUri, "/", uri, "/"); } zephir_update_property_this(getThis(), SL("_baseUri"), baseUri TSRMLS_CC); } RETURN_CCTOR(baseUri); }
/** * Returns the prefix for all the generated urls. By default / * * @return string */ PHP_METHOD(Phalcon_Mvc_Url, getBaseUri){ zval *base_uri = NULL, *slash, *_SERVER, *php_self, *uri = NULL; PHALCON_MM_GROW(); base_uri = phalcon_read_property(getThis(), SL("_baseUri"), PH_NOISY); if (Z_TYPE_P(base_uri) == IS_NULL) { PHALCON_INIT_VAR(slash); ZVAL_STRING(slash, "/"); _SERVER = phalcon_get_global(SL("_SERVER")); if (phalcon_array_isset_str_fetch(&php_self, _SERVER, SL("PHP_SELF"))) { PHALCON_INIT_VAR(uri); phalcon_get_uri(uri, php_self); } else { PHALCON_INIT_NVAR(uri); } if (!zend_is_true(uri)) { PHALCON_CPY_WRT(base_uri, slash); } else { PHALCON_INIT_NVAR(base_uri); PHALCON_CONCAT_VVV(base_uri, slash, uri, slash); } phalcon_update_property_this(getThis(), SL("_baseUri"), base_uri); } RETURN_CCTOR(base_uri); }