2012-02-09 12 views
3

私は、フロントコントローラがroot/index.phpで、ブートストラップがroot/app/bootstrap.phpである標準フロントコントローラ/ブートストラップ構成を持っています。IDEがインクルードファイルのファイルパスを解決するのを手助けします

フロントコントローラは、require_once 'app/bootstrap.php';でブーストラップファイルをロードします。

ブートストラップは、フロントコントローラーに関連するパスを使用して、必要なファイルをロードします(require_once 'model/model.php';など)。

私のIDE(PhpStorm 3.0.2)のフラグという警告とブートストラップでのファイルパス「式のターゲットを解決できません...」

コメントはありおよび/またはできるコードIDEがディレクトリ/インクルージョンスキームを認識して解決するのを助けるためにブートストラップファイルに追加しますか?

答えて

2

以下は動作するはずです。うーん、$ config-> directoryrootを使用するとうまくいきませんが、hereのバグがありますので、今後のビルドではうまくいくはずです。

$directoryroot = '/full/system/path/to/docroot'; 

require_once($directoryroot.'/app/bootstrap.php'); 
+0

ありがとうございます - バグレポートについて知ってうれしいです。毎回完全なパスを提供することが私の懸念事項です。これはPHPが行う余分な作業を作成することです。それは非常に余分な作業ですが、私は知っていますが、私はむしろ余分なコードよりも醜い警告で暮らしたいと思います。あなた自身でこれを理解するのに十分なスマートなIDEを見つけたことはありますか? – cantera

+1

@ cantera25 "これはPHPが行う余分な作業を作成します" ??? include/requireの絶対パスは相対パスよりも実際に高速です(相対パスをチェックする必要はなく、少なくとも2回目の繰り返しとしてカウントされます)。時差は非常に小さいですが。 – LazyOne

+1

また、現在のファイルに関連する '__DIR__'定数またはPHPバージョンの互換性を保つために' dirname(__ FILE __) 'を使用することもできます。 – LazyOne

関連する問題