Doppia sottolineatura in PHP?
-
21-09-2019 - |
Domanda
Che cosa significa la doppia sottolineatura in queste righe di codice PHP dire?
$WPLD_Trans['Yes']=__('Yes',$WPLD_Domain);
$WPLD_Trans['No']=__('No',$WPLD_Domain);
Soluzione
Sembra che si sta utilizzando Wordpress - wp-includes/l10n.php
definisce __ come una funzione che traduce una stringa (simile a gettext
e il suo alias, _
ma con un parametro opzionale per specificare esplicitamente un dominio).
Altri suggerimenti
A rigor di termini, non significa niente in PHP in quanto non è una funzione predefinita. Tuttavia, in molti contesti, come CakePHP, e altre librerie la doppia sottolineatura è una funzione utilizzata per tradurre le stringhe in base alle preferenze di lingua / locale dell'utente.
Come detto è generalmente utilizzato per tradurre il testo da una lingua all'altra, ma in realtà è usato nello stesso contesto come qualsiasi chiamata di funzione.
testfunction();
non è diversa quindi
__();
documenti di WordPress è __ () funzione, parte della tecnologia di localizzazione qui: https://make.wordpress.org/polyglots/handbook/translating/working-with-core/#localization-technology
E 'difficile trovare la documentazione perché __ (), __ ( '') o __ ( "") non è molto ricercabile, doppia sottolineatura e parentesi (tonde) sono parole chiave da utilizzare.
Un simile o di terze parti GNU gettext implementazione basata:
http://www.php.net/manual/en/function .gettext.php
Nota: È possibile utilizzare il carattere di sottolineatura '_' come alias a questa funzione.