Php는 t_paamayim_nekudotayim을 기대합니까?
-
09-09-2019 - |
다른 팁
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
아마도 이것은 어떻게 든 사용됩니다.