インストールしてみましょう
pear install PHP_Compat
また、レンタルサーバなどでは自分に割り当てられた領域以降にパッケージを直接 FTPなどで上げたいような人もいるでしょうから、そういった方はhttp://pear.php.net/package/PHP_Compat から最新版をダウンロードする事が出来ます(現時点での最新版は1.5.0)
使い方は簡単。使いたい関数や定数を、動作するファイルの先頭等でロードするだけ。ロード後は通常と同じように、特に意識せずに関数や定数を利用する事が出来ます。
ロードの方法は大きくわけて2種類あります。
例1 ロードの仕方1(名前指定)
<?php
require_once 'PHP/Compat.php'; //Compat.phpの呼び出し
// file_put_contents関数を利用したいとする
// 関数をロードする場合は、loadFunctionを利用する
PHP_Compat::loadFunction('file_put_contents');
// 複数の関数を同時にロードする場合、引数を配列にして渡す
PHP_Compat::loadFunction(array('file_get_contents','file_put_contents'));
// E_STRICT定数を利用したいとする
// 定数をロードする場合は、loadConstantを利用する
PHP_Compat::loadConstant('E_STRICT');
// 定数も関数と同じで、複数同時にロードする場合は引数を配列にして渡す
PHP_Compat::loadConstant(array('E_STRICT', 'PATH_SEPARATOR'));
//上記はクラスを利用したロードだが、下記の様にクラスを用いずロードもできる
require_once 'PHP/Compat/Function/file_get_contents.php';
require_once 'PHP/Compat/Function/file_put_contents.php';
require_once 'PHP/Compat/Constant/E_STRICT.php';
require_once 'PHP/Compat/Constant/PATH_SEPARATOR.php';
// 以下、コード
?>
例2 ロードの仕方2(バージョン指定)
<?php
require_once 'PHP/Compat.php'; //Compat.phpの呼び出し
// ここで指定したバージョンまでの全ての関数と定数をロード
// 引数を省略すると、全ての関数と定数をロードします
$components = PHP_Compat::loadVersion('4.3.0');
// ロードされたコンポーネントのリストが返るので確認もできる
print_r($components);
?>
例1は特定の関数や定数のみをロードしようとする場合。例2はバージョン指定で、現在動作しているバージョンから指定したバージョンまでで追加する関数や定数が使えるようになります。用途に応じて使い分けるといいでしょう。
ロードできるコンポーネントの全てのリストはこちらから参照できます。http://pear.php.net/manual/en/package.php.php-compat.components.php
PHP5には4には無い関数がいくつかあるので、PHP4だけど5の関数を使ってみたいという場合で、レンタルサーバで4しか使えないとかいう場合などにも便利かと思います。
しかし、セキュリティ等の問題がありますので、可能ならば最新バージョンを利用したいですね。
この記事は、アシアルが運営するPHP開発者のためのポータル&コミュニティサイト「PHPプロ!」で毎週配信しているPHP・TIPSメーリングリストを再録したものです。
同サイトでは、他にもPHP最新ニュースや、困ったときのQ&A掲示板、初心者向けのPHP講座など、PHP開発者をサポートする情報を掲載しています。