PECL::params
Sara Golemon女史作だそうで。
「zend_parse_parameters()って、なんじゃい!」と言ってしまいそうですがw、PHPのソースを見たり、PECLに馴染みのある人だと分かるんじゃないでしょうか。
Userspace equivalent of zend_parse_parameters()
名前の通り、引数をparseする関数なんですが、バリデータじゃありません。まあ、次のPHPソースと実行結果を見れば分かるかと。
<?php /** * @see http://blog.libssh2.org/index.php?/archives/89-Parameter-Parsing.html */ function foo() { var_dump(params_parse("sd|b")); } foo('foo', 1); foo('foo', 1, true); foo('foo'); foo('foo', 'invalid'); foo('foo', false, 'invalid');
$ php params.php array(3) { [0]=> string(3) "foo" [1]=> float(1) [2]=> bool(false) } array(3) { [0]=> string(3) "foo" [1]=> float(1) [2]=> bool(true) } Warning: params_parse(): foo expects at least 2 arguments, 1 given in /home/shimooka/public_html/pecl/params/params.php on line 7 Call Stack: 0.0013 49300 1. {main}() /home/shimooka/public_html/pecl/params/params.php:0 0.0290 49932 2. foo() /home/shimooka/public_html/pecl/params/params.php:12 0.0290 49932 3. params_parse() /home/shimooka/public_html/pecl/params/params.php:7 bool(false) array(3) { [0]=> string(3) "foo" [1]=> float(0) [2]=> bool(false) } array(3) { [0]=> string(3) "foo" [1]=> float(0) [2]=> bool(true) }
詳しい説明は、ソースにもあるhttp://blog.libssh2.org/index.php?/archives/89-Parameter-Parsing.htmlを見てください。
うーん。これをPECL化して、どうするつもりなんだろ?思いつかない。。。w