/** * Returns the constants for a given class or the current class. * * @param string classname [Optional] * @return array */ PHP_METHOD(Xpl_Enum, getConstants) { int ZEPHIR_LAST_CALL_STATUS; zval *classname = NULL, *reflection = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &classname); if (!classname) { ZEPHIR_CPY_WRT(classname, ZEPHIR_GLOBAL(global_null)); } else { ZEPHIR_SEPARATE_PARAM(classname); } if (Z_TYPE_P(classname) == IS_NULL) { ZEPHIR_INIT_NVAR(classname); zephir_get_called_class(classname TSRMLS_CC); } ZEPHIR_INIT_VAR(reflection); object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC)); ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", NULL, 63, classname); zephir_check_call_status(); ZEPHIR_RETURN_CALL_METHOD(reflection, "getconstants", NULL, 100); zephir_check_call_status(); RETURN_MM(); }
PHP_METHOD(Test_Oo_OoDynamicA, getNew) { zend_class_entry *_1; zval className, fullClassName, _0; int ZEPHIR_LAST_CALL_STATUS; ZEPHIR_INIT_THIS(); ZVAL_UNDEF(&className); ZVAL_UNDEF(&fullClassName); ZVAL_UNDEF(&_0); ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&className); zephir_get_called_class(&className TSRMLS_CC); ZEPHIR_INIT_VAR(&fullClassName); ZEPHIR_CONCAT_SV(&fullClassName, "\\", &className); zephir_fetch_safe_class(_0, fullClassName); _1 = zephir_fetch_class_str_ex(Z_STRVAL_P(&_0), Z_STRLEN_P(&_0), ZEND_FETCH_CLASS_AUTO); object_init_ex(return_value, _1); if (zephir_has_constructor(return_value TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 0); zephir_check_call_status(); } RETURN_MM(); }
PHP_METHOD(PhalconPlus_Enum_AbstractEnum, __construct) { zephir_fcall_cache_entry *_9 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *val = NULL, *reflection = NULL, *defaultVal = NULL, *_0, *_1 = NULL, *_2, *_3$$3, *_4$$3 = NULL, *_5$$4, *_6$$4, _7$$4, *_8$$4 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &val); if (!val) { ZEPHIR_INIT_VAR(val); ZVAL_STRING(val, "__PhalconPlus_AbstractEnum_DefaultValue__", 1); } ZEPHIR_INIT_VAR(reflection); object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC)); ZEPHIR_INIT_VAR(_0); zephir_get_called_class(_0 TSRMLS_CC); ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", NULL, 4, _0); zephir_check_call_status(); ZEPHIR_INIT_VAR(_2); ZVAL_STRING(_2, "__default", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_1, reflection, "hasconstant", NULL, 11, _2); zephir_check_temp_parameter(_2); zephir_check_call_status(); if (zephir_is_true(_1)) { ZEPHIR_INIT_VAR(_3$$3); ZVAL_STRING(_3$$3, "__default", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&defaultVal, reflection, "getconstant", NULL, 12, _3$$3); zephir_check_temp_parameter(_3$$3); zephir_check_call_status(); ZEPHIR_CALL_STATIC(&_4$$3, "isvalid", NULL, 0, defaultVal); zephir_check_call_status(); if (!(zephir_is_true(_4$$3))) { ZEPHIR_INIT_VAR(_5$$4); object_init_ex(_5$$4, spl_ce_OutOfRangeException); ZEPHIR_INIT_VAR(_6$$4); zephir_get_class(_6$$4, this_ptr, 0 TSRMLS_CC); ZEPHIR_SINIT_VAR(_7$$4); ZVAL_STRING(&_7$$4, "Invalid __default enumeration %s for Enum %s", 0); ZEPHIR_CALL_FUNCTION(&_8$$4, "sprintf", NULL, 13, &_7$$4, defaultVal, _6$$4); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, _5$$4, "__construct", NULL, 14, _8$$4); zephir_check_call_status(); zephir_throw_exception_debug(_5$$4, "phalconplus/Enum/AbstractEnum.zep", 15 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } } if (ZEPHIR_IS_STRING(val, "__PhalconPlus_AbstractEnum_DefaultValue__")) { ZEPHIR_CALL_METHOD(NULL, this_ptr, "setvalue", &_9, 0, defaultVal); zephir_check_call_status(); } else { ZEPHIR_CALL_METHOD(NULL, this_ptr, "setvalue", &_9, 0, val); zephir_check_call_status(); } ZEPHIR_MM_RESTORE(); }
PHP_METHOD(PhalconPlus_Enum_AbstractEnum, validValues) { int ZEPHIR_LAST_CALL_STATUS; zval *assoc_param = NULL, *reflection = NULL, *consts = NULL, *_0; zend_bool assoc; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &assoc_param); if (!assoc_param) { assoc = 0; } else { assoc = zephir_get_boolval(assoc_param); } ZEPHIR_INIT_VAR(reflection); object_init_ex(reflection, zephir_get_internal_ce(SS("reflectionclass") TSRMLS_CC)); ZEPHIR_INIT_VAR(_0); zephir_get_called_class(_0 TSRMLS_CC); ZEPHIR_CALL_METHOD(NULL, reflection, "__construct", NULL, 4, _0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&consts, reflection, "getconstants", NULL, 17); zephir_check_call_status(); zephir_array_unset_string(&consts, SS("__default"), PH_SEPARATE); if (assoc == 1) { RETURN_CCTOR(consts); } else { ZEPHIR_RETURN_CALL_FUNCTION("array_values", NULL, 18, consts); zephir_check_call_status(); RETURN_MM(); } }
/** * Return the content type string for the resource * * @return string */ PHP_METHOD(Phal_Format_AbstractWriter, getContentType) { int ZEPHIR_LAST_CALL_STATUS; zephir_nts_static zephir_fcall_cache_entry *_2 = NULL; zval *_0, *_1; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(_0); zephir_get_called_class(_0 TSRMLS_CC); ZEPHIR_INIT_VAR(_1); ZEPHIR_CONCAT_VS(_1, _0, "::CONTENT_TYPE"); ZEPHIR_RETURN_CALL_FUNCTION("constant", &_2, _1); zephir_check_call_status(); RETURN_MM(); }
PHP_METHOD(Test_Oo_OoDynamicA, getNew) { int ZEPHIR_LAST_CALL_STATUS; zend_class_entry *_0; zval *className, *fullClassName; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(className); zephir_get_called_class(className TSRMLS_CC); ZEPHIR_INIT_VAR(fullClassName); ZEPHIR_CONCAT_SV(fullClassName, "\\", className); _0 = zend_fetch_class(Z_STRVAL_P(fullClassName), Z_STRLEN_P(fullClassName), ZEND_FETCH_CLASS_AUTO TSRMLS_CC); object_init_ex(return_value, _0); if (zephir_has_constructor(return_value TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL); zephir_check_call_status(); } RETURN_MM(); }
PHP_METHOD(PhalconPlus_Base_Exception, __construct) { zend_long ZEPHIR_LAST_CALL_STATUS; zval *info = NULL, info_sub, *logger = NULL, logger_sub, __$null, message, args, _0, _12, cnt, argsCnt, _13, _14, _1$$4, _2$$4, _3$$4, _4$$5, _5$$5, _6$$5, _7$$6, _8$$7, _9$$7, _10$$7, _11$$7, _15$$9, _16$$9; zval *this_ptr = getThis(); ZVAL_UNDEF(&info_sub); ZVAL_UNDEF(&logger_sub); ZVAL_NULL(&__$null); ZVAL_UNDEF(&message); ZVAL_UNDEF(&args); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_12); ZVAL_UNDEF(&cnt); ZVAL_UNDEF(&argsCnt); ZVAL_UNDEF(&_13); ZVAL_UNDEF(&_14); ZVAL_UNDEF(&_1$$4); ZVAL_UNDEF(&_2$$4); ZVAL_UNDEF(&_3$$4); ZVAL_UNDEF(&_4$$5); ZVAL_UNDEF(&_5$$5); ZVAL_UNDEF(&_6$$5); ZVAL_UNDEF(&_7$$6); ZVAL_UNDEF(&_8$$7); ZVAL_UNDEF(&_9$$7); ZVAL_UNDEF(&_10$$7); ZVAL_UNDEF(&_11$$7); ZVAL_UNDEF(&_15$$9); ZVAL_UNDEF(&_16$$9); ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 2, &info, &logger); if (!info) { info = &info_sub; ZEPHIR_INIT_VAR(info); ZVAL_STRING(info, ""); } if (!logger) { logger = &logger_sub; logger = &__$null; } ZEPHIR_INIT_VAR(&message); ZVAL_STRING(&message, ""); ZEPHIR_INIT_VAR(&args); array_init(&args); ZEPHIR_INIT_VAR(&_0); zephir_get_called_class(&_0 TSRMLS_CC); ZEPHIR_INIT_NVAR(&message); ZEPHIR_CONCAT_SV(&message, "An exception created: ", &_0); if (ZEPHIR_IS_EMPTY(info)) { } else { if (Z_TYPE_P(info) == IS_ARRAY) { zephir_array_fetch_long(&_1$$4, info, 0, PH_NOISY | PH_READONLY, "phalconplus/Base/Exception.zep", 22 TSRMLS_CC); ZEPHIR_CALL_FUNCTION(&_2$$4, "strval", NULL, 27, &_1$$4); zephir_check_call_status(); ZEPHIR_INIT_VAR(&_3$$4); ZEPHIR_CONCAT_VSV(&_3$$4, &message, ", message: ", &_2$$4); ZEPHIR_CPY_WRT(&message, &_3$$4); ZEPHIR_OBS_NVAR(&args); if (zephir_array_isset_long_fetch(&args, info, 1, 0 TSRMLS_CC)) { zephir_array_fetch_long(&_4$$5, info, 1, PH_NOISY | PH_READONLY, "phalconplus/Base/Exception.zep", 24 TSRMLS_CC); if (Z_TYPE_P(&_4$$5) == IS_ARRAY) { ZEPHIR_OBS_NVAR(&args); zephir_array_fetch_long(&args, info, 1, PH_NOISY, "phalconplus/Base/Exception.zep", 24 TSRMLS_CC); } else { ZEPHIR_INIT_NVAR(&args); zephir_create_array(&args, 1, 0 TSRMLS_CC); zephir_array_fetch_long(&_5$$5, info, 1, PH_NOISY | PH_READONLY, "phalconplus/Base/Exception.zep", 24 TSRMLS_CC); ZEPHIR_CALL_FUNCTION(&_6$$5, "strval", NULL, 27, &_5$$5); zephir_check_call_status(); zephir_array_fast_append(&args, &_6$$5); } } } else if (Z_TYPE_P(info) == IS_STRING) { ZEPHIR_INIT_VAR(&_7$$6); ZEPHIR_CONCAT_VSV(&_7$$6, &message, ", message: ", info); ZEPHIR_CPY_WRT(&message, &_7$$6); } } if (!(Z_TYPE_P(logger) == IS_NULL)) { ZEPHIR_INIT_VAR(&_8$$7); ZVAL_LONG(&_9$$7, 256); zephir_json_encode(&_8$$7, &args, zephir_get_intval(&_9$$7) ); ZEPHIR_INIT_VAR(&_10$$7); ZEPHIR_CONCAT_VSV(&_10$$7, &message, ", args: ", &_8$$7); ZEPHIR_CALL_METHOD(&_11$$7, this_ptr, "getlevel", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, logger, "log", NULL, 0, &_10$$7, &_11$$7); zephir_check_call_status(); } zephir_read_property(&_12, this_ptr, SL("message"), PH_NOISY_CC | PH_READONLY); if (ZEPHIR_IS_EMPTY(&_12)) { zephir_update_property_zval(this_ptr, SL("message"), &message); } zephir_read_property(&_13, this_ptr, SL("message"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_VAR(&_14); ZVAL_STRING(&_14, "%s"); ZEPHIR_CALL_FUNCTION(&cnt, "substr_count", NULL, 28, &_13, &_14); zephir_check_call_status(); ZEPHIR_INIT_VAR(&argsCnt); ZVAL_LONG(&argsCnt, zephir_fast_count_int(&args TSRMLS_CC)); if (ZEPHIR_GE(&argsCnt, &cnt)) { zephir_read_property(&_15$$9, this_ptr, SL("message"), PH_NOISY_CC | PH_READONLY); ZEPHIR_CALL_FUNCTION(&_16$$9, "vsprintf", NULL, 29, &_15$$9, &args); zephir_check_call_status(); zephir_update_property_zval(this_ptr, SL("message"), &_16$$9); } ZEPHIR_MM_RESTORE(); }