2012-03-22 45 views
0

我的defs.php有一個我需要的定義,雖然我使用require_once,但當我嘗試訪問defs.php時,我得到一系列重複項,就好像defs.php之前已經調用過一樣。 另一方面,如果我不叫它,我得到undefined use of undefined constant ...雖然使用require_once(),但爲什麼我會重複定義?

任何想法?

謝謝!

+2

請顯示驗證碼。 – Pheonix 2012-03-22 15:54:25

+0

使用include()之前是否包含過一次? – 472084 2012-03-22 15:54:27

回答

2

可能您正在使用2個單獨的路徑來訪問該文件。這樣做時,我已經看到了這個問題:

require_once("somefile.php"); 
require_once("/full/path/to/somefile.php"); 

我認爲什麼是被列入的方式並不明智所有可能的路徑組合評估到同一個文件,並把它當作相同的PHP跟蹤。

我儘量避免使用require和includes通過包裝對象中的所有內容並使用自動加載器。對於常量,我使用一堆靜態屬性創建一個對象。

+0

謝謝!我會記住的! – Ted 2012-03-22 17:35:28

相關問題