>  기사  >  백엔드 개발  >  PHP에서 유형 힌트의 역할과 사용

PHP에서 유형 힌트의 역할과 사용

墨辰丷
墨辰丷원래의
2018-06-09 10:49:031507검색

이 글은 주로 PHP에서 타입 힌트의 역할과 사용법을 소개합니다. 관심 있는 친구들이 참고하면 좋겠습니다.

Overview

PHP5부터 유형 힌트를 사용하여 함수 정의 시 함수가 받는 매개변수 유형을 지정할 수 있습니다. 함수를 정의할 때 매개변수 유형을 지정하고 함수를 호출할 때 실제 매개변수의 유형이 지정된 유형과 일치하지 않으면 PHP는 치명적인 오류(Catchable fatal error)를 생성합니다.

클래스 이름과 배열

함수를 정의할 때 PHP는 클래스 이름과 배열이라는 두 가지 유형 선언만 지원합니다. 클래스 이름 테이블 이름 이 매개변수가 받는 실제 매개변수는 해당 클래스에 의해 인스턴스화된 객체이며, 배열은 받은 실제 매개변수가 배열 유형임을 나타냅니다. 예를 들면 다음과 같습니다.

코드는 다음과 같습니다.

function demo(array $options){
  var_dump($options);
}


demo() 함수를 정의할 때 함수가 받는 매개변수 유형을 배열로 지정합니다. 함수를 호출할 때 전달된 매개변수가 배열 유형이 아닌 경우(예: 다음과 같은 호출):

코드는 다음과 같습니다:

$options='options';
demo($options);

그러면 다음 오류가 발생합니다:

Catchable fatal error: 데모()에 전달된 인수 1은 배열 유형이어야 하며 주어진 문자열이어야 합니다.

기본 매개변수로 null을 사용할 수 있습니다

Note

한 가지 주목할 점은 PHP는 두 가지 유형의 유형 선언만 지원한다는 것입니다. 다른 스칼라 유형 선언은 지원되지 않습니다. 예를 들어 다음 코드는 오류를 생성합니다.

코드는 다음과 같습니다.

function demo(string $str){
}
$str="hello";
demo($str)

위 코드를 실행하면 문자열이 클래스 이름으로 처리되므로 다음과 같습니다. 오류가 보고됩니다:
Catchable fatal error: 데모()에 전달된 인수 1은 문자열의 인스턴스여야 하며 주어진 문자열은

Summary

Type 선언도 특히 예외를 잡을 때 PHP 객체 지향의 발전입니다. 매우 유용한 유형입니다.
유형 선언을 사용하면 코드 가독성도 높아질 수 있습니다.
그러나 PHP는 약한 유형의 언어이기 때문에 유형 선언을 사용하는 것은 PHP 디자인의 원래 의도에 어긋납니다.
타입 선언을 사용할지 말지는 모두의 의견입니다. 저는 초보자입니다. :)

위 내용은 모든 사람의 학습에 도움이 되기를 바랍니다.

관련 권장 사항:

문자열 작업을 위한 PHP 방법

파일 작업 및 문자열 암호화를 위한 PHP 방법

날짜 및 문자열을 작업하는 PHP 방법

위 내용은 PHP에서 유형 힌트의 역할과 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.