web-dev-qa-db-ja.com

PHPのダブルアンダースコア?

PHPコードのこれらの行の二重下線はどういう意味ですか?

$WPLD_Trans['Yes']=__('Yes',$WPLD_Domain);
$WPLD_Trans['No']=__('No',$WPLD_Domain);
47
Drahcir

Wordpress-wp-includes/l10n.phpは、__を文字列を変換する関数として定義します( gettext およびそのエイリアスと同様) 、_ですが、ドメインを明示的に指定するためのオプションパラメータがあります)。

58
SimonJ

厳密に言えば、PHPは事前定義された関数ではないため、これは何も意味しません。ただし、CakePHPや他のライブラリなどの多くのフレームワークでは、二重下線は文字列の翻訳に使用される関数ですユーザーの言語/ロケール設定。

37
Mike B

前述のように、これは一般に言語間でテキストを翻訳するために使用されますが、実際には他の関数呼び出しと同じコンテキストで使用されます。

testfunction();

違いはありません

__();
6
JasonDavis

WordPressは、ローカリゼーションテクノロジーの一部である__()関数であることをドキュメント化しています。 https://make.wordpress.org/polyglots/handbook/translating/working-with-core/#localization-technology

__()、__( '')、または__( "")はあまり検索できないため、ドキュメントを見つけるのは困難です。二重下​​線と括弧(丸括弧)は使用するキーワードです。

5
PaulH

類似またはサードパーティの GNU gettext ベースの実装:

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

注:この関数のエイリアスとしてアンダースコア文字「_」を使用できます。

2
knoopx