문제

누구든지가 있습니까? T_PAAMAYIM_NEKUDOTAYIM?

도움이 되었습니까?

해결책

이중 콜론 운영자입니다 :: (보다 파서 토큰 목록).

다른 팁

Google은 놀라운 일을합니다.

이것의 헤브라이 사람 "이중 결장"용.

그것은 이름입니다 :: PHP의 운영자. 말 그대로 "이중 결장"을 의미합니다. 어떤 이유로 그들은 히브리어로 이름을지었습니다. 코드 구문을 확인하고 a :: 적절한 경우 :-)

에서 위키 백과:

PHP에서 스코프 해상도 연산자는 히브리어로 "이중 콜론"을 의미하는 Paamayim Nekudotayim (히브리어 : Hebrew : פעמ ייה × 님)이라고도합니다.

"Paamayim Nekudotayim"이라는 이름은 PHP 3에 사용 된 이스라엘 개발 Zend Engine 0.5에서 소개되었습니다. 히브리어를 사용하지 않는 많은 개발자들에게 혼란 스러웠지만이 샘플 오류 메시지에서와 같이 PHP 5에서 여전히 사용되고 있습니다. :

$ php -r :: 구문 분석 오류 : 구문 오류, 예기치 않은 t_paamayim_nekudotayim

PHP 5.4 기준으로 범위 해상도 연산자에 관한 오류 메시지는 여전히이 이름을 포함하지만 그 의미를 다소 명확하게 설명했습니다.

$ php -r :: 구문 분석 오류 : 구문 오류, 예기치 않은 '::'(t_paamayim_nekudotayim)

에서 공식 PHP 문서:

스코프 해상도 연산자 (Paamayim Nekudotayim이라고도 함) 또는 더 간단한 용어 인 Double Colon은 클래스의 정적, 일정한 및 재정의 속성 또는 방법에 액세스 할 수있는 토큰입니다.

클래스 정의 외부에서 이러한 항목을 참조 할 때 클래스 이름을 사용하십시오.

PHP 5.3.0 기준으로 변수를 사용하여 클래스를 참조 할 수 있습니다. 변수의 값은 키워드가 될 수 없습니다 (예 : 자아, 부모 및 정적).

Paamayim Nekudotayim은 처음에는 더블 콜론의 이름을 짓는 데 이상한 선택처럼 보일 것입니다. 그러나 Zend Engine 0.5 (PHP 3에 전원)를 작성하는 동안 Zend 팀이 호출하기로 결정한 것입니다. 실제로 히브리어로 이중 콜론을 의미합니다!

또한 PHP에서 Constant를 빈 () 함수에 적용 할 때 다음과 같습니다.

if (!empty(SOME_CONSTANT)) {

}

그게 내 사건이었다. 나는 이것을 사용하여 그것을 해결했다 :

$string = SOME_CONSTANT;
if (!empty($string)) {

}

나에게 이것은 클래스 기능 내에서 일어났다.

PHP 5.3 이상 $this::$defaults 잘 작동했습니다. 코드를 서버로 바꾸면 어떤 이유로 든 버전 번호가 낮은 이유는이 오류를 던졌습니다.

내 경우 솔루션은 키워드를 사용하는 것이 었습니다. self 대신에 $this:

self::$defaults 잘 작동합니다.

이것은 다음을 사용할 때 Foreachs에서 발생할 수 있습니다.

foreach( $array as $key = $value )

대신에

foreach( $array as $key => $value )

여기에 언급 된 바와 같이 일반적으로 5.3이 필요합니다. 그러나 모든 페이지를 끊는 방식은 .htaccess 파일 에서이 줄을 제거하는 것입니다.

# Use PHP 5.3
AddHandler application/x-httpd-php53 .php

아마도 이것은 어떻게 든 사용됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top