Double Underscore en PHP?

qu'est-ce que le double souligne dans ces lignes de code PHP signifie?

$WPLD_Trans['Yes']=__('Yes',$WPLD_Domain);
$WPLD_Trans['No']=__('No',$WPLD_Domain);
44
demandé sur Drahcir 2009-11-22 02:25:13

5 réponses

on dirait que vous utilisez Wordpress - wp-includes/l10n.php définit _ _ comme une fonction qui traduit une chaîne (similaire à gettext et son alias, _ mais avec un paramètre facultatif pour spécifier explicitement un domaine).

57
répondu SimonJ 2009-11-21 23:58:12

à proprement parler, cela ne signifie rien en PHP car ce n'est pas une fonction prédéfinie. Cependant, dans beaucoup de cadres, comme CakePHP, et d'autres bibliothèques, le double underscore est une fonction utilisée pour traduire des chaînes basées sur la préférence de langue/locale de l'utilisateur.

35
répondu Mike B 2009-11-21 23:30:32

comme mentionné il est généralement utilisé pour la traduction de texte entre les langues mais en réalité il est utilisé dans le même contexte que n'importe quel appel de fonction.

testfunction();

n'est pas différent alors

__();
5
répondu JasonDavis 2009-11-21 23:37:16

WordPress documents c'est __() de la fonction, qui fait partie de la localisation de la technologie ici: https://make.wordpress.org/polyglots/handbook/translating/working-with-core/#localization-technology

il est difficile de trouver de la documentation car __(), __(") ou _ _ ( "" ) n'est pas très recherchable, double soulignement et les parenthèses (parenthèses rondes) sont des mots-clés à utiliser.

4
répondu PaulH 2015-01-17 21:04:58

Un poste similaire ou de tiers GNU gettext mise en œuvre basée sur:

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

Remarque: Vous pouvez utiliser le caractère de soulignement '_' comme alias pour cette fonction.

2
répondu knoopx 2009-11-21 23:49:20