相対パスまたは直接の絶対パス (ハードコードされたパス) を使用せずに、異なるディレクトリの深さに存在する php ファイルにコード (構成ファイル) を含める方法を知りたいです。私は次の使用が好きではありませんでした:
- ../config.php
- ../../config.php
- ../../../config.php
- c:/wamp/www/mysite/config.php
アイデアは、次の場合に複数のファイルを変更する必要がないようにすることです。
- ファイルは別のディレクトリに移動されます
- アプリケーションのルートが変更されました
私が行ったことは、構成ファイルに次のものを入れることです。
define("ROOT", dirname(__FILE__));
そして他のファイルでは:
$root = realpath($_SERVER["DOCUMENT_ROOT"]);
include $root ."/mysite/config.php";
私のサイト"/mysite"のフォルダーをハードコーディングしたことがわかります。このディレクトリ名のハードコーディングを避けることができますか?