PHPでよく使うディレクトリパスを定数として定義する
今回は定数として「ディレクトリパス」を定義します。
構成
1 2 3 4 5 6 |
ドキュメントルート ---+--- index.php | +--- lib/ --------- system.ini | +--- admin/ ---+--- admin1.php +--- logic/ ------logic2.php |
system.ini
1 2 3 4 5 |
<?php define('BASE_DIR' ,$_SERVER['DOCUMENT_ROOT']); define('ADMIN_BASE_DIR' ,BASE_DIR . '/admin/'); define('ADMIN_LOGIC_DIR' ,BASE_DIR . '/admin/logic/'); ?> |
BASE_DIRに「$_SERVER[‘DOCUMENT_ROOT’]」を定義しています。
そして、LIB_DIRに「BASE_DIR配下のlibディレクトリ」を定義しています。
なお、system.iniという名称にしていますが、自身で作成したプログラムの一部です。このような名前にしているだけであって、別の名前でも構いません。変更する場合は、index.phpに記載したsystem.iniの箇所のファイル名も変更しましょう。
index.php
1 2 3 4 5 |
<?php require_once($_SERVER['DOCUMENT_ROOT'] . '/lib/system.ini'); require_once <strong><span style="color: #ff0000;">ADMIN_BASE_DIR</span></strong> . 'admin1.php'; require_once <span style="color: #ff0000;"><strong>ADMIN_LOGIC_DIR</strong></span> . 'logic2.php'; ?> |
定数を定義した「system.ini」を最初に読み込んでいます。
「system.ini」を読み込むまでは定数を使用することはできません。
そのため、最初に読み込む「system.ini」ファイルの読み込みには、定数を使用せずにパスを指定しています。
「$_SERVER[‘DOCUMENT_ROOT’]配下にあるlibディレクトリ内のsystem.iniファイルを読み込む」
system.iniの読み込み後については、system.iniに定義した定数を使用可能になります。
今回の場合は、定数として定義したADMIN_BASE_DIRやADMIN_LOGIC_DIRを使用して、同ディレクトリの中にあるadmin1.phpやlogic2.phpを読み込んでいます。
(admin1.phpやlogic2.phpについては任意のファイルとお考えください)