這些PHP代碼行中的下劃線是什麼意思?PHP中的Double Underscore?
$WPLD_Trans['Yes']=__('Yes',$WPLD_Domain);
$WPLD_Trans['No']=__('No',$WPLD_Domain);
這些PHP代碼行中的下劃線是什麼意思?PHP中的Double Underscore?
$WPLD_Trans['Yes']=__('Yes',$WPLD_Domain);
$WPLD_Trans['No']=__('No',$WPLD_Domain);
看起來像您使用的是Wordpress - wp-includes/l10n.php
將__定義爲函數,該函數翻譯字符串(類似於gettext
及其別名,_
但帶有用於顯式指定域的可選參數)。
嚴格地說,它在PHP中沒有任何意義,因爲它不是預定義函數。但是,在許多框架中,如CakePHP和其他庫,雙下劃線是用於根據用戶的語言/區域偏好來翻譯字符串的函數。
不知道。令人混淆的是,__的CakePHP版本與Wordpress中的版本完全不同(CakePHP默認情況下會響應字符串,除非第二個參數爲false)。我敢打賭,*以前從未絆倒任何人...... – SimonJ 2009-11-22 02:01:02
如前所述,它通常用於在語言之間翻譯文本,但實際上它與任何函數調用在相同的上下文中使用。
testfunction();
無異於是
__();
其實,testfunction()是非常不同的,因爲它有一個理智的名字。 __是命名一個函數的完全愚蠢的東西。 – 2011-04-13 07:30:23
WordPress的文件是__()函數,定位技術在這裏的一部分:https://make.wordpress.org/polyglots/handbook/translating/working-with-core/#localization-technology
這是很難找到的文件,因爲__(),__( '')或__( 「」)不非常可搜索,雙下劃線和圓括號(圓括號)是要使用的關鍵字。
它只是我還是那個可怕的? – 2009-11-22 01:42:42
這不僅僅是你。這很可怕。 – 2011-04-13 07:28:18
隱藏,但非常方便。作爲旁註,php.net認爲所有以__(雙下劃線)開頭的函數都是保留的。這聽起來像他們不喜歡WordPress和其他人正在偷獵他們的魔法領域的事實。 http://us.php.net/manual/en/language.oop5.magic.php – Lane 2012-02-20 18:52:37