Double Underscore in PHP?

It looks like you're using WordPress - wp-includes/l10n.php defines __ as a function that translates a string (similar to gettext and its alias, _, but with an optional parameter for explicitly specifying a domain).


Strictly speaking, it means nothing in PHP as it is not a pre-defined function. However, in many frameworks, like CakePHP, and other libraries the double underscore is a function used for translating strings based on the user's language/locale preference.


As mentioned it is generally used for translating text between languages but really it is used in the same context as any function call.

testfunction();

is no different then

__();

WordPress documents its __() function, and part of the localisation technology on Working with WordPress Core – Translate WordPress.

It is difficult to find documentation because __(), __('') or __("") is not very searchable. Double underscore and parentheses (round brackets) are some keywords to use.