双下划线在PHP?

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

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

看起来像你正在使用Wordpress – wp-includes/l10n.php定义__作为一个函数,翻译一个string(类似于gettext和它的别名,但有一个可选的参数,用于显式指定一个域)。

严格来说,这在PHP中没有任何意义,因为它不是一个预定义的函数。 但是,在很多框架(如CakePHP)和其他库中,双下划线是用于根据用户的语言/区域偏好来翻译string的函数。

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

 testfunction(); 

那么没有什么不同

 __(); 

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

找不到文档是因为__(),__('')或__(“”)不是很可search的,双下划线和括号(圆括号)是要使用的关键字。

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

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

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