Kqna's Blog

Archive for 7月 2013

プログラミングPHP 第2版 の「14章PHPの拡張」に誤植があったのでメモしておきます。

#ただ、第3版(まだ日本語版はない)だと該当の章自体がなくなってるみたいですね。

p369の「14.7 パラメータの処理」で以下のPHP拡張のコードがあります。

long l;
char *s;
ints_len;
doubld d = 0.0;
if (zend_parse_parameters(ZEND_NUM_AGRS() TSRMLS_CC, “ls|d”, &l, &s, &s_len)
== FAILURE) return;

このように作った関数をPHP側から

add_item($num, $desc, $price);

のように呼ぶと第3引数に指定した値が、PHP拡張のコード側に渡せると書いてあります。

ですが、実際には

long l;
char *s;
ints_len;
doubld d = 0.0;
if (zend_parse_parameters(ZEND_NUM_AGRS() TSRMLS_CC, “ls|d”, &l, &s, &s_len&d)
== FAILURE) return;

のようにしないと渡せないです。


カテゴリー