누구 T_PAAMAYIM_NEKUDOTAYIM
있나요?
u
입니다. 이어야합니다 T_PAAMAYIM_NEKUDOTAYIM
. ( PAAMAYIM
= "twice", NEKUDOTAYIM
= :
= "נקודותיים")
누구 T_PAAMAYIM_NEKUDOTAYIM
있나요?
u
입니다. 이어야합니다 T_PAAMAYIM_NEKUDOTAYIM
. ( PAAMAYIM
= "twice", NEKUDOTAYIM
= :
= "נקודותיים")
답변:
이중 콜론 연산자입니다 ::
( 구문 분석기 토큰 목록 참조 ).
var_dump(empty(TRUE))
foreach($cats as cat
뒤에 유일하게 허용되는 문자 cat
가있는 ::
경우이라는 클래스의 정적 특성을 지정할 수 있기 때문에 cat
. 경우 예는 cat
클래스라는 공공 정적 멤버를 가지고 $mouse
, 다음 foreach($cats as cat::$mouse)
완벽하게 유효 php
하지만, 이외의 아무것도 성명 ::
애프터는 cat
구문 오류 일 것이다. $mouse
선언 된 속성이 아닌 경우 cat
치명적인 오류가 발생하지만 구문 오류는 발생하지 않습니다.
::
PHP 에서 연산자 의 이름입니다 . 문자 그대로 "이중 콜론"을 의미합니다. 어떤 이유로 그들은 그것을 히브리어로 명명했습니다. 코드 구문을 확인하고 ::
적절한 위치에 :-)
에서 위키 백과 :
PHP에서 스코프 해상도 연산자는 Paamayim Nekudotayim (히브리어에서 "이중 콜론"을 의미하는 히브리어 : פעמיים נקודתיים)이라고도합니다.
"Paamayim Nekudotayim"이라는 이름은 PHP 3에서 사용되는 이스라엘에서 개발 한 Zend Engine 0.5에서 도입되었습니다. 히브리어를 사용하지 않는 많은 개발자들에게는 혼란 스럽지만이 샘플 오류 메시지 에서처럼 여전히 PHP 5에서 사용되고 있습니다. :
$ php -r :: 구문 분석 오류 : 구문 오류, 예기치 않은 T_PAAMAYIM_NEKUDOTAYIM
PHP 5.4부터, 범위 확인 연산자와 관련된 오류 메시지에는 여전히이 이름이 포함되어 있지만 그 의미는 다소 명확 해졌습니다.
$ php -r :: 구문 분석 오류 : 구문 오류, 예기치 않은 '::'(T_PAAMAYIM_NEKUDOTAYIM)
에서 공식 PHP 문서 :
Scope Resolution Operator (Paamayim Nekudotayim이라고도 함) 또는 더 간단한 용어 인 이중 콜론은 클래스의 정적, 상수 및 재정의 된 속성 또는 메서드에 액세스 할 수있는 토큰입니다.
클래스 정의 외부에서 이러한 항목을 참조 할 때는 클래스 이름을 사용하십시오.
PHP 5.3.0부터는 변수를 사용하여 클래스를 참조 할 수 있습니다. 변수의 값은 키워드가 될 수 없습니다 (예 : self, parent 및 static).
Paamayim Nekudotayim은 처음에는 이중 콜론을 명명하기위한 이상한 선택처럼 보입니다. 그러나 Zend Engine 0.5 (PHP 3를 지원하는)를 작성하는 동안 Zend 팀이이를 결정했습니다. 실제로 이중 콜론을 의미합니다-히브리어!
empty () 함수에 PHP 상수를 적용 할 때도옵니다 :
if (!empty(SOME_CONSTANT)) {
}
그게 내 사건이야 이것을 사용하여 해결했습니다.
$string = SOME_CONSTANT;
if (!empty($string)) {
}
나는 히브리어를 아주 잘 알고 있으므로, "Paamayim Nekudotayim"이라는 이름을 명확히하기 위해, 그 의미는 "이중 콜론"이지만 문자 그대로 번역됩니다.
::
보다 "두 번, 두 개의 점"을 의미하거나, 일반적으로 범위 확인 연산자라고 합니다.나에게 이것은 클래스 함수 내에서 일어났다.
PHP 5.3 이상 $this::$defaults
작동했습니다. 어떤 이유로 든 더 낮은 버전 번호를 가진 서버로 코드를 서버로 교체했을 때이 오류가 발생했습니다.
필자의 경우 해결책 self
은 $this
다음 대신 키워드를 사용하는 것이 었습니다 .
self::$defaults
잘 작동합니다.
$this
, 또는 무슨 일이 일어난 당신 ?