2011-08-21 42 views
24

代碼:爲什麼我不能聲明函數名稱「_」?

function _() 
{ 
    echo 'hello word'; 
} 

輸出:

Fatal error: Cannot redeclare _()

我以前沒有這個函數_,那麼爲什麼我收到這個錯誤?

+4

@丹尼爾不,不是。 – deceze

+1

@Daniel:你指出的主題是關於帶下劃線的方法的前綴,OP詢問他們爲什麼不能創建一個名爲'_'的函數。 – Jonathon

+0

@Daniel A. White。不,根本沒有關係。 – phihag

回答

31

_()gettext的別名。

+0

感謝很多傢伙:) –

+0

夥計們,認真嗎? 24個upvotes爲一個句子的答案?你能看看我實際花了一些時間的答案嗎? ; o) – deceze

+0

也許你可以解釋爲什麼地球上他們做了別名?這幾乎和Javascripts $變量一樣糟糕。 – TheLQ

13

_是內置函數gettext的別名。正如您無法聲明函數gettext一樣,您無法創建函數_,因爲其中一個已經存在。

+13

而且你不應該。多麼愚蠢的名字的功能。 –

+6

它是翻譯*的函數的標準名稱。例如,您可以在類中使用這種方法。 :P – daGrevis

相關問題