2013-04-24 90 views
2

我的開發機器有一個不常見的問題。相同配置的PhP名稱空間

她是我們使用的生產服務器上是相同的,但由於某些原因,當我在我的虛擬財產以後運行像

namespace NotWorking; 

$foo = new DateTime(); 

它的工作我的本地計算機上,但未能不用其他我們的生產服務器上的任何錯誤。

但是當我使用的財產以後,如:

namespace Working; 

$foo = new \DateTime(); 

它的工作原理。我們比較了已知的所有設置,但沒有發現從PHP構建任何差異,甚至apatche是相同的構建。

有沒有一個選項可以支持這個「功能」?

回答

2

日期時間是在全局命名空間,併爲「類名稱總是解析到當前命名空間名稱」你必須使用\日期時間

你可以閱讀更多關於它here

如果你有一個類名稱與全局名稱空間中的名稱相同,則必須以\爲前綴,否則您只需導入本地類。

+0

奇怪的是我沒有一個這樣的類叫。而且它在一臺機器上工作得很好,但在另一臺機器上工作得不錯。你的好的參考點。 – Sangoku 2013-04-24 15:46:06

+0

@Sangoku無論你是什麼機器,你都應該對所有本地PHP類使用反斜線。它在你的本地機器上工作的情況有點奇怪 - 但可能是由於當前命名空間與全局命名空間相同... – shadyyx 2013-04-24 15:49:13

+0

@shadyyx說Sangoku確保你使用'\'這很奇怪,爲什麼它工作在你的機器:) – 2013-04-24 15:51:27

相關問題