p0t: 地味コードPHP::Compatを使わぬとは! PEARへの愛が足りぬ!
投稿者 halt : 2006年02月07日 14:52
haltさんの叱咤によりPEAR愛が高まったというかPHP::Compatに俄然興味が出たので調べてみました。
PHP::Compatのcompatはcompatibility(互換性)の略で、後のバージョンで新しく出来た関数や定数をヘボイバージョンにも提供してくれる素晴らしいライブラリだそうです。 特に前述のPATH_SEPARATOR(: or ;)やDIRECTORY_SEPARATOR(/ or \)やPHP_EOL(\n or \r\n or \r)などの無いと激しく萎える存在を提供してくれるのでありがたい。関数も単体でloadできるのでシンプルで良い。 アプリに手を入れずに古いPHPで動かしたい場合にiniのauto_prepend_fileディレクティブにこれらの読み込みファイルを設定してみるっつーのも試してみる価値ありそう!
ついでに気になったPHP_CompatInfoも調べてみました。
PEAR :: Package :: PHP_CompatInfo>> Description PHP_CompatInfo will parse a file/folder/script/array to find out the minimum version and extensions required for it to run. Features advanced debug output which shows which functions require which version and CLI output script
こっちはPHPのコードを調べてバージョンいくつ以上で動くのか調べてくれるらしい。試しにmojavi-all-classes.phpを調べてみました。
fakemac:~/src/mojavi-2.0.0% cat ~/project/php-examples/compat/compatinfo.php
#!/usr/bin/env php
<?php
require_once("PHP/CompatInfo/Cli.php");
$ci = new PHP_CompatInfo_Cli();
$ci->run();
?>
fakemac:~/src/mojavi-2.0.0% ~/project/php-examples/compat/compatinfo.php --file=mojavi-all-classes.php
+------------------------+---------+------------+------------------+
| File | Version | Extensions | Constants/Tokens |
+------------------------+---------+------------+------------------+
| mojavi-all-classes.php | 5.0.0 | session | implements |
| | | | interface |
| | | | protected |
| | | | private |
| | | | __LINE__ |
| | | | final |
| | | | clone |
| | | | throw |
| | | | catch |
| | | | abstract |
+------------------------+---------+------------+------------------+
5.0.0?んなこたぁないハズ。おれの理解が間違ってるのかも!