Double sublinhe em PHP?
-
21-09-2019 - |
Pergunta
O que significa o duplo sublinhado nessas linhas de código PHP?
$WPLD_Trans['Yes']=__('Yes',$WPLD_Domain);
$WPLD_Trans['No']=__('No',$WPLD_Domain);
Solução
Parece que você está usando o WordPress - wp-includes/l10n.php
define __ como uma função que traduz uma string (semelhante a gettext
e seu pseudônimo, _
mas com um parâmetro opcional para especificar explicitamente um domínio).
Outras dicas
Estritamente falando, isso significa nada no PHP, pois não é uma função predefinida. No entanto, em muitas estruturas, como CakePHP e outras bibliotecas, o sublinhamento duplo é uma função usada para traduzir strings com base na preferência de idioma/localidade do usuário.
Como mencionado, geralmente é usado para traduzir o texto entre os idiomas, mas realmente é usado no mesmo contexto que qualquer chamada de função.
testfunction();
não é diferente então
__();
WordPress documenta sua função __ (), parte da tecnologia de localização aqui: https://make.wordpress.org/polyglots/handbook/translating/working-with-core/#localization-technology
É difícil encontrar documentação porque __ (), __ ('') ou __ ("") não é muito pesquisável, sublinhamento duplo e parênteses (suportes redondos) são palavras -chave para usar.
Um semelhante ou terceiros GNU getText Implementação baseada:
http://www.php.net/manual/en/function.getText.php
Nota: Você pode usar o caractere sublinhado '_' como um alias para esta função.