この記事の目次
環境変数で解決
WEBのテンプレートを利用する場合は必須!?
WEBサイトを構築していくと、多くの場合、テンプレートを利用するかと思います。
ここでいうテンプレートはDreamweaverなどで利用する場合を想定しています。
テンプレートを利用すると特定のページでのみ行う処理を記述する必要がある場合、環境変数を利用するのが便利です。
環境変数(Environment Variables)とは
環境変数(Environment Variables)とは、オペレーティングシステムまたはWebサーバーが、PHPなどの言語に対して提供する設定や情報を保持する変数のことです。
例えば、PHPでウェブサイトを作るとき、これらの環境変数を使うことで、リクエストに関する情報や、サーバーに関する情報を取得することができます。
環境変数は特に、サーバーの状態、ユーザーのリクエスト情報、スクリプトの実行環境などを知るために使われます。
環境変数(Environment Variables)の利用方法
PHPでは、これらの情報を$_SERVER(スーパーグローバル変数)を通じて利用することができます。
以下は、代表的な環境変数とその用途について説明します。
(1)$_SERVER['SCRIPT_NAME']
スクリプトのパスを示します。
例えば、/index.php のように、現在実行されているスクリプトのパスを返します。リンクの生成や、フォームの送信先を指定する場合に使われることが多いです。
echo $_SERVER['SCRIPT_NAME']; // /index.php
(2)$_SERVER['SERVER_NAME']
サーバーのホスト名を示します。
通常、Webサーバーの名前やドメイン名が含まれます。例えば、example.com のような情報です。URLの生成や、ユーザーに表示する場合に便利です。
echo $_SERVER['SERVER_NAME']; // example.com
$_SERVER['HTTP_HOST']
(3)ホストのHTTPヘッダーに送信されているホスト名です。
例えば、example.com や localhost といった情報です。$_SERVER['SERVER_NAME'] と似ていますが、ポート番号を含む場合があります。
echo $_SERVER['HTTP_HOST']; // example.com
$_SERVER['REQUEST_URI']
(4)リクエストされたURIを示します。
/index.php?id=123 のように、URLのパスとクエリ文字列を含みます。この情報を使って、どのページがリクエストされているかを確認できます。
echo $_SERVER['REQUEST_URI']; // /index.php?id=123
それでは、特定ページでのみ実行する処理ですが、(1)を利用します。
If InStr(Request.ServerVariables("SCRIPT_NAME"), "mcd") > 0 Then
AAAAA
Else
BBBBB
End If
上記の例ではSCRIPT_NAMEにmcdという文字列が含まれている場合にAAAAAを実行、含まれない場合にはBBBBBを実行するという記述になります。(ASPのサンプルになります)
まとめ
このように使うことで、テンプレートの活用の幅がより広がります。
テンプレートを利用することは、開発、メンテナンスにおいて非常に役に立ちます。
ぜひ環境変数を利用して、できるだけテンプレートを活用できるようにしましょう。