Двойное подчеркивание в PHP?
-
21-09-2019 - |
Вопрос
Что означают двойные подчеркивания в этих строках PHP-кода?
$WPLD_Trans['Yes']=__('Yes',$WPLD_Domain);
$WPLD_Trans['No']=__('No',$WPLD_Domain);
Решение
Похоже, вы используете 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
Примечание:Вы можете использовать символ подчеркивания '_' в качестве псевдонима этой функции.