新しいバージョンのPHPで古いコードを使用する
現在、PHPは有名なスクリプト言語まで成長しており、
各自のスクリプトで再利用可能な多くのコードとして公開されている
リソースが存在します。PHP言語の開発者の大部分は、過去のバージョン
との互換製を保とうとしており、過去のバージョン用に書かれた
スクリプトは(理想的には)より新しい バージョンのPHPで変更せずに
動作するはずです。しかし、実際には、通常、いくつかの変更が
必要となります。
古いコードに影響を与える最近の重要な二つの変更点を以下に示します。
$HTTP_*_VARS配列が過去のものとなったこと。
(これは、関数またはメソッドの中で使用する際にグローバル変数として
宣言を行なう必要がありました。) 以下の
オートグローバル
配列がPHP 4.1.0で導入されました。これらを以下に示します。
$_GET, $_POST,
$_COOKIE, $_SERVER,
$_ENV, $_REQUEST,
$_SESSION.
従来の$HTTP_POST_VARSのような配列$HTTP_*_VARS
もまだ存在し、PHP 3以来維持されています。
外部変数は、もはやデフォルトでグローバルスコープに登録されません。
言い換えると、PHP4.2.0
以降、PHPディレクティブ
register_globalsは、
php.iniにおいてデフォルトでoffとなっています。
これらの値にアクセスする推奨される方法は、
上記のオートグローバル配列を使用する方法です。
古いスクリプトや本、チュートリアルはこのディレクティブに
依存している可能性があります。このディレクティブがonの場合、
例えば、URL http://www.example.com/foo.php?id=42
から$idを使用することができます。
on、offによらず$_GET['id']は利用可能です。
これらの変更に関する詳細は、
定義済みの変数
のセクションおよびそこにあるリンクを参照して下さい。