PHP Extension iniの設定を読み込む

んー何て言ったらいいのか・・・
mbstringだと、
php.iniに
[mbstring]
mbstring.〜 = ○○
みたいに設定できるよね。
ini_set()で変更もできる設定ね。


あれを、自作のextensionでも使いたい!
ということで、やってみた。
といってもほとんど作業は無いんだけど。


しかし、Extension関連の情報は少ないねぇ・・・
見つけられてないだけかもしれないけど。。


とりあえず、自分の覚書。


まずここを参考に雛形を作ります。
とりあえず、testで作っときましょう。(作成後、config.m4の変更も忘れずに。)

./ext_skel --extname=test

あとは、コメントインしていきます。
php_test.hが1ヶ所。
test.cが6ヶ所。


まずは、php_test.h。

ZEND_BEGIN_MODULE_GLOBALS(test)
〜〜

の部分をコメントイン。


あとは、
test.c。

ZEND_DECLARE_MODULE_GLOBALS(test)

PHP_INI_BEGIN()
〜〜

static void php_test_init_globals(zend_test_globals *test_globals)
〜〜

REGISTER_INI_ENTRIES();

UNREGISTER_INI_ENTRIES();

DISPLAY_INI_ENTRIES();

これでtest.global_valueとtest.global_stringの2種類が使えるようになります。
値の取得は、TEST_G(global_value)、TEST_G(global_string)と書けば取得できます。


値の追加はこれらをいじくればOKなはず。やってないけど。