Slide 64
Slide 64 text
© Cygames, Inc.
どんなソースが⽣生成される?
PHP_̲METHOD(Utils_̲Fib, calc) {
zval *n_̲param = NULL, *_̲0 = NULL, *_̲1 = NULL, *_̲2 = NULL;
int n, ZEPHIR_̲LAST_̲CALL_̲STATUS;
ZEPHIR_̲MM_̲GROW();
zephir_̲fetch_̲params(1, 1, 0, &n_̲param);
n = zephir_̲get_̲intval(n_̲param);
if (n < 2) { RETURN_̲MM_̲LONG(n);}
ZEPHIR_̲INIT_̲VAR(_̲1);
ZVAL_̲LONG(_̲1, (n -‐‑‒ 1));
ZEPHIR_̲CALL_̲SELF(&_̲0, "calc", NULL, 0, _̲1);
zephir_̲check_̲call_̲status();
ZEPHIR_̲INIT_̲NVAR(_̲1);
ZVAL_̲LONG(_̲1, (n -‐‑‒ 2));
ZEPHIR_̲CALL_̲SELF(&_̲2, "calc", NULL, 0, _̲1);
zephir_̲check_̲call_̲status();
zephir_̲add_̲function(return_̲value, _̲0, _̲2);
RETURN_̲MM();
}