PHP_CompatInfoのデフォルトRenderer
比較的どうでもいいネタ。
先日PHP_DocBlockGeneratorを弄ってて気づいたんですが、PHP_CompatInfo-1.8.0β2(古)から、デフォルトRendererがPHP_CompatInfo_Renderer_Arrayになった模様。
Beta 2 include 3 renderers :
- "Null" that consumes all output. Usefull for batch mode
- "Array" the default. That dump results as a PHP array (like previous versions)
but allow also to print improved array with help of PEAR::Var_Dump if available.
で、これで何が困る(気に入らない)かというと、
しているパッケージは、
array ( 'ignored_files' => array ( ), 'ignored_functions' => array ( ), 'ignored_extensions' => array ( ), 'ignored_constants' => array ( ), 'max_version' => '', 'version' => '5.0.0', 'extensions' => array ( ), 'constants' => array ( 0 => 'PHP_EOL', ), 'tokens' => array ( 0 => 'public', ), 'cond_code' => array ( 0 => 0, ), )
のような出力が勝手にされちゃいます。PHP_DocBlockGeneratorは上の条件に合致していて、その結果、
$ docblockgen /path/to/sample.php /path/to/commented.php array ( 'ignored_files' => array ( ), 'ignored_functions' => array ( ), 'ignored_extensions' => array ( ), 'ignored_constants' => array ( ), 'max_version' => '', 'version' => '5.0.0', 'extensions' => array ( ), 'constants' => array ( 0 => 'PHP_EOL', ), 'tokens' => array ( 0 => 'public', ), 'cond_code' => array ( 0 => 0, ), )$
な感じ。まあ、
<?php $info = new PHP_CompatInfo('null');
のようにインスタンス化すれば、メッセージは表示されなくなるようですが。。。うー。何でデフォルトRendererがPHP_CompatInfo_Renderer_Nullじゃないんだ?デフォルトでprint_r風な出力をして意味あるんかな?