2009-11-21 2 views
42

이러한 PHP 코드 라인에서 이중 밑줄은 무엇을 의미합니까?PHP의 밑줄?

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

답변

56

이 보이는 - wp-includes/l10n.php은 (gettext과 별명, _ 유사하지만, 명시 적으로 도메인을 지정하는 선택적 매개 변수) 문자열 변환 함수로 __ 정의합니다.

+35

그것은 나인가? 아니면 그 끔찍한가? –

+31

그것은 당신뿐이 아닙니다. 그것은 끔찍한 일이다. –

+5

아주 지저분하지만 매우 편리합니다. sidenote로서 php.net은 __ (두 개의 밑줄)로 시작하는 모든 함수가 예약되어 있다고 말합니다. WordPress와 다른 사람들이 그들의 마법 방법 영역에서 밀렵하고 있다는 사실을 좋아하지 않는 것 같습니다. http://us.php.net/manual/en/language.oop5.magic.php – Lane

35

엄밀히 말하면 사전 정의 된 기능이 아니므로 PHP에서는 아무 것도 의미하지 않습니다. 그러나 CakePHP 나 다른 라이브러리와 같은 많은 프레임 워크에서 이중 밑줄은 사용자의 언어/로케일 환경 설정에 따라 문자열을 변환하는 데 사용되는 함수입니다. 당신은 워드 프레스를 사용하고 같은

+3

잘 모르겠 음. 혼란스럽게도 CakePHP 버전의 __은 Wordpress의 CakePHP와 완전히 다르게 작동합니다 (CakePHP는 기본적으로 두 번째 매개 변수가 false가 아닌 이상 문자열을 반향합니다). 나는 * 결코 * 전에 아무도 걸리지 않았을 걸거야. – SimonJ

5

언급 한 바와 같이 일반적으로 언어간에 텍스트를 변환하는 데 사용되지만 실제로는 모든 함수 호출과 동일한 컨텍스트에서 사용됩니다.

testfunction(); 

이 다르지 않습니다 다음

__(); 
+20

실제로 testfunction()은 정상적인 이름을 가지고 있기 때문에 매우 다릅니다. __는 함수를 명명하기에 완전히 어리석은 짓입니다. –

4

워드 프레스 문서는 __() 함수, 여기에 국산화 기술의 일부입니다 매우 검색 가능한 이중 밑줄과 괄호 (둥근 괄호)는 사용할 키워드입니다.