PHP的双下划线?

时间:2009-11-21 23:25:14

标签: php double-underscore

这些PHP代码行中的双重下划线是什么意思?

$WPLD_Trans['Yes']=__('Yes',$WPLD_Domain);
$WPLD_Trans['No']=__('No',$WPLD_Domain);

5 个答案:

答案 0 :(得分:58)

看起来你正在使用Wordpress - wp-includes/l10n.php将__定义为一个转换字符串的函数(类似于gettext及其别名_,但带有一个可选参数用于显式指定域名。)

答案 1 :(得分:37)

严格地说,它在PHP中没有任何意义,因为它不是预定义的功能。但是,在许多框架中,如CakePHP和其他库,双下划线是一个用于根据用户的语言/区域设置首选项翻译字符串的函数。

答案 2 :(得分:6)

如上所述,它通常用于在语言之间翻译文本,但实际上它与任何函数调用在相同的上下文中使用。

testfunction();

没什么不同
__();

答案 3 :(得分:5)

WordPress记录了它的__()函数,这是本地化技术的一部分:https://make.wordpress.org/polyglots/handbook/translating/working-with-core/#localization-technology

很难找到文档,因为__(),__('')或__("")不是非常易于搜索,双下划线和圆括号(圆括号)是要使用的关键字。

答案 4 :(得分:2)

基于GNU gettext的类似或第三方实施:

http://www.php.net/manual/en/function.gettext.php

  

注意:您可以使用下划线字符“_”作为此函数的别名。