2016-08-30 1 views
0

실제로 PHP에서 어떤 유형 힌팅을하는지 이해하면 유형을 확인하고 선언되지 않은 경우 오류가 발생합니다."checking"대신 "hinting"이라고 불리는 PHP의 타입 검사가 왜 발생합니까?

그게 마치 "힌트"이상의 것입니다. (자바와 같은 주요 수식 배경과 같은) "수표"와 같습니다.

그래서 내가 뭔가를 놓치고 있는지 또는 그 이름을 의도적으로 지정했는지 궁금합니다.

+0

아마도 null을 할당 할 수있는 코딩 오류를 정적 분석이 도와 주지만 런타임시 내성을 통해 null 값이 할당되는 것을 막을 수는없는 '@ NotNull'과 같은 주석과 유사 할 수 있습니다. –

답변

0

PHP는 변수 유형을 검사하지 않으며 유형은 변수 선언 내에서 선언되지 않습니다. PHP는 필요할 때 변수를 올바른 유형으로 변환하려고합니다. number에 str_replace가 있으면 숫자가 일시적으로 string으로 변환됩니다.

당신이 거기 그래서 http://php.net/manual/en/language.types.type-juggling.php

자바에서의 정반대 볼 수 있듯이.

+0

고마워요.하지만 자바에서 "정확한 반대"라고 말하는 것이 많은 도움이되는지 확신 할 수 없습니다. 그 차이는 정확한 것보다 미묘합니다. 나는 내가 필요한 개념이 강압적이라는 것을 발견했다. Java는 명시 적 형 변환을 원하고 Java 형 변환은 프로그래머가 개입하지 않아도 필요에 따라 수행된다는 것을 의미하기 때문에 "type hinting"구문을 명명 선택으로 사용하는 것이 바람직합니다. – mwal

+0

내가 그 정반대라고 말했을 때, ** 더 많은 (전체) "수표"(자바와 같은 주요 프로그래밍 backgrond) **에 대한 반응이었습니다 ** –

관련 문제