私は通常、PHP クラス ファイルを次のように含めます。
$root = realpath($_SERVER["DOCUMENT_ROOT"]);
include_once("$root/classes/my.class.php");
これは推奨されますか、それとも相対パスを使用する必要がありますか?
私は通常、PHP クラス ファイルを次のように含めます。
$root = realpath($_SERVER["DOCUMENT_ROOT"]);
include_once("$root/classes/my.class.php");
これは推奨されますか、それとも相対パスを使用する必要がありますか?
次のようなオートローダーを使用してクラスをロードする必要があります。
http://phpmaster.com/autoloading-and-the-psr-0-standard/
編集:要約。クラスを手動でロードするのではなく、自動的にロードするようにアプリケーションを構成する必要があります。
単純な実装については、これを参照してください (単純なものが良い - このコードに従ってください)
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
を使用realpath()
すると、正規のパスが計算され、ソース ファイルに至るまでのフォルダー構造の各部分が検査されるため、オーバーヘッドが発生します。
別のアプローチは、次を使用すること__DIR__
です。
include __DIR__ . '/classes/my.class.php';
各ファイルが 1 つのクラスのみで構成されるクラスのロードについては、自動ロードを検討する必要があります。