0

私は多くの言語でたくさんのプログラミングをしましたが、ハードコアPHPの方が新しいです。たくさんのグーグルの後、OSからの相対パスではなく、webrootからの相対パスを使用してinclude / require/require_onceするための良い解決策を見つけることができないようです。

PHP Iniインクルードパスを調整しました。これは優れたソリューションでしたが、問題は、多くのPHPIDEがインテリセンスなどのクラス定義を公開するためにインクルードパスを評価しないことです。デバッグ/コーディング。

従来のASPやその他の言語では、これが非常に簡単になりました。相対パスは、現在のファイルの場所に対するphpの相対的なものではなく、常にWebルートからの相対的なものであり、phpのルートはファイルシステムのルートです。私はこれを回避しようとする奇妙な奇妙な方法をたくさん見ましたが、それはまさにそれが常に回避策であるように思われるものです。

誰かが私の週を作り、私にとってこの退屈な苛立たしい挑戦を解決するのを手伝ってくれますか?

4

1 に答える 1

0

次のようなものをいつでもphp.iniファイルに追加できます。

ROOT_PATH = "/var/www/<your_directory>"

次に、次のように php ページでこの値を取得できます。

$ROOT_PATH = ini_get("ROOT_PATH");

そして、次のようなファイルを含めることができます。

include_once($ROOT_PATH."/<path>/<filename.php>");

もちろん、単純にdefine("ROOT_PATH", "/var/www/<your_directory>");ファイルに直接追加することもできますが、 から設定を取得すると、php.ini異なるサーバーで異なる設定を持つことができます。

于 2013-01-24T15:00:01.440 に答える