Двойное подчеркивание в PHP?

что означает двойное подчеркивание в этих строках кода PHP?

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

5 ответов


Похоже, вы используете Wordpress -wp-includes/l10n.php определяет __ как функцию, которая переводит строку (аналогично gettext и его псевдоним, _ но с необязательным параметром для явного указания домена).


строго говоря, это ничего не значит в PHP, поскольку это не предопределенная функция. Однако во многих фреймворках, таких как CakePHP и другие библиотеки, двойное подчеркивание является функцией, используемой для перевода строк на основе предпочтений языка/локали пользователя.


Как уже упоминалось, он, как правило, используется для перевода текста между языками, но на самом деле он используется в том же контексте, что любой вызов функции.

testfunction();

ничем не отличается, то

__();

документы WordPress это функция _ _ (), часть технологии локализации здесь: https://make.wordpress.org/polyglots/handbook/translating/working-with-core/#localization-technology

трудно найти документацию, потому что __(), __(") или _ _ ( "" ) не очень доступен для поиска, двойное подчеркивание и круглые скобки (круглые скобки) являются ключевыми словами для использования.


аналогичный или сторонний GNU gettext реализация на основании:

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

Примечание: Вы можете использовать символ подчеркивания '_' в качестве псевдонима для этой функции.