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 ディレクティブにより無効にすることができます。

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

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

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