개발! 딱 깔끔하고 센스있게!

PHP 에서 변수 형식 을 선언 하 시 겠 습 니까? 본문

개발 스크랩 메모/PHP

PHP 에서 변수 형식 을 선언 하 시 겠 습 니까?

렉사이 2020. 12. 11. 22:40

나 는 내 Netbeans 가 PHP 로 자동 으로 완성 하도록 하려 고 합 니 다.

이 코드 가 PHP 에서 효과 가 있다 는 것 을 알 게 되 었 습 니 다.

function blah(Bur $bur) {} 

질문

  1. Does this actually impose any limits on what type of variable I can pass to the blah method?
  2. If this is just to help the IDE, that's fine with me. How can I declare the type of a variable in PHP if I'm not in a function?

대답 하 다.

이러한 종류의 팁 은 함수 파라미터 검증 에 만 적 용 됩 니 다.

PHP 변 수 는 항상 특정한 유형 이 어야 함 을 설명 할 수 없습니다.

이것 은 예제 에서 "Blah" 를 호출 할 때 $bur 는 bur 종류 여야 합 니 다.

하지만 $bur 는 함수 에 있 는 비 bur 값 을 다시 배정 할 수 있 습 니 다.

클래스 나 인터페이스 이름 에 만 적 용 됩 니 다.

예 를 들 어 매개 변 수 는 정수 여야 합 니 다.

PHP 타 입 은 짜증 나 는 부분 에서 빈 값 을 허용 하지 않 습 니 다.

자바 와 는 다 릅 니 다.

따라서 대상 이 아 닌 NULL 에 게 전달 하려 면 유형 알림 을 삭제 하고 함수 상단 에서 다음 작업 을 수행 해 야 합 니 다.

assert('$bur === NULL || $bur instanceof Bur'); 

편집: 이 마지막 단 계 는 PHP 5.1 이후 에는 적용 되 지 않 습 니 다.

이 제 는 NULL 을 기본 값 으로 사용 할 수 있 습 니 다.

설령 유형 에 대한 힌트 가 있 더 라 도 사용 할 수 있 습 니 다.

편집: 문자열, int, flot, 불 값, 열 거 를 제공 하 는 SPL 형식 확장 도 설치 할 수 있 습 니 다.

편집: PHP 5.1 이후 의 "array" 와 phi 5. 4 후의 "callaable" 을 사용 할 수도 있 습 니 다.

편집: PHP 7.0 부터 "string", "int", "flot", "bool" 을 사용 할 수 있 습 니 다.

Comments