PHP マニュアル
前のページ | 第 2章簡易チュートリアル | 次のページ

# 新しいバージョンのPHPで古いコードを使用する

現在、PHPは有名なスクリプト言語まで成長しており、 各自のスクリプトで再利用可能な多くのコードとして公開されている リソースが存在します。PHP言語の開発者の大部分は、過去のバージョン との互換製を保とうとしており、過去のバージョン用に書かれた スクリプトは(理想的には)より新しい バージョンのPHPで変更せずに 動作するはずです。しかし、実際には、通常、いくつかの変更が 必要となります。

古いコードに影響を与える最近の重要な二つの変更点を以下に示します。

- $HTTP_*_VARS配列が過去のものとなったこと。 (これは、関数またはメソッドの中で使用する際にグローバル変数として 宣言を行なう必要がありました。) 以下の オートグローバル 配列が4.1.0で 導入されました。これらを以下に示します。 $_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_REQUEST, $_SESSION. 従来の$HTTP_POST_VARSのような配列$HTTP_*_VARS もまだ存在し、PHP 3以来維持されています。 PHP 5.0.0 以降、PHP の長い 定義済みの変数 配列は register_long_arrays ディレクティブにより無効にすることができます。

- 外部変数は、もはやデフォルトでグローバルスコープに登録されません。 言い換えると、PHP4.2.0 以降、PHPディレクティブ register_globalsは、 `php.ini`においてデフォルトでoffとなっています。 これらの値にアクセスする推奨される方法は、 上記のオートグローバル配列を使用する方法です。 古いスクリプトや本、チュートリアルはこのディレクティブに 依存している可能性があります。このディレクティブがonの場合、 例えば、URL http://www.example.com/foo.php?id=42 から$idを使用することができます。 on、offによらず$_GET['id']は利用可能です。

これらの変更に関する詳細は、 定義済みの変数 のセクションおよびそこにあるリンクを参照してください。

前のページ | ホーム | 次のページ
フォームの処理 | 上に戻る | 次にするべきことは?