PHP7의 유형 힌트 기능: 오류와 불확실성을 피하기 위해 함수의 매개변수 유형을 명확히 하는 방법은 무엇입니까?
PHP7의 유형 힌트 기능: 오류와 불확실성을 피하기 위해 함수의 매개변수 유형을 명확히 하는 방법은 무엇입니까?
소개:
개발 과정에서 함수 매개변수 전달 문제에 자주 직면하게 됩니다. 때로는 불분명한 유형의 함수 매개변수로 인해 오류와 불확실성이 발생합니다. 이 문제를 해결하기 위해 PHP7에서는 함수 매개변수의 유형을 명시적으로 지정할 수 있는 유형 힌트 기능을 도입하여 몇 가지 일반적인 오류를 피하고 불확실성을 줄였습니다. 이 기사에서는 PHP7의 Type Hinting 사용법을 자세히 소개하고 구체적인 코드 예제를 제공합니다.
1. 유형 힌트의 개념:
유형 힌트는 함수 매개변수 유형을 선언하는 방법입니다. 함수 매개변수 앞에 지정된 유형을 추가하면 함수에 전달된 값이 예상된 유형인지 확인할 수 있습니다. 전달된 유형이 일치하지 않으면 치명적인 오류가 생성됩니다.
2. 유형 힌트 사용법:
PHP7에서는 다음 방법을 사용하여 유형 힌트를 수행할 수 있습니다.
- 스칼라 유형:
PHP7에서는 함수 매개변수 유형을 스칼라 유형(키워드:, , <bool>, <float>, <int>, <string></string></int></float></bool>
). 예는 다음과 같습니다.<array>、<callable>、<bool>、<float>、<int>、<string></string></int></float></bool></callable></array>
)。下面是一个例子:
function addNumbers(int $a, int $b): int { return $a + $b; } echo addNumbers(5, 10); // 输出15 echo addNumbers("5", 10); // 报错,因为"5"不是一个整数
在上面的例子中,函数addNumbers
的参数$a
和$b
被指定为整数。如果传入的值不是整数类型,则会产生一个致命错误。
- 类类型:
我们也可以指定函数参数的类型为特定的类。这样可以确保传递给函数的对象是指定类的实例。下面是一个例子:
class User { // ... } class UserService { public function register(User $user) { // ... } } $user = new User(); $service = new UserService(); $service->register($user); // 正确 $service->register("abc"); // 报错,因为"abc"不是 User 类的实例
在上面的例子中,函数register
的参数$user
被指定为User
类的实例。如果传入的值不是User
类的实例,则会产生一个致命错误。
- 可为空的类型:
有时候我们希望参数可以接受null
值,可以使用?
将参数类型标记为可为空类型。下面是一个例子:
function searchUser(?string $keyword): array { // ... } var_dump(searchUser("John")); // array(1) { [0]=> string(4) "John" } var_dump(searchUser(null)); // array(0) { }
在上面的例子中,函数searchUser
的参数$keyword
被指定为字符串类型,但可以接受null
值。如果传入的值不是字符串类型或null
위 예에서 addNumbers
함수의 $a
및 $b
매개변수는 정수로 지정됩니다. . 전달된 값이 정수 유형이 아닌 경우 치명적인 오류가 생성됩니다.
- 클래스 유형:
- rrreee
- 위 예에서
register
함수의$user
매개변수는User
의 인스턴스로 지정됩니다. > 수업. 전달된 값이User
클래스의 인스턴스가 아닌 경우 치명적인 오류가 생성됩니다. - Nullable 유형: 때때로 매개변수가
- rrreee
- 함수 매개변수의 유형을 특정 클래스로 지정할 수도 있습니다. 이렇게 하면 함수에 전달된 개체가 지정된 클래스의 인스턴스인지 확인됩니다. 예는 다음과 같습니다.
null
값을 허용하기를 원할 경우 ?
를 사용하여 매개변수 유형을 사용 가능한 것으로 표시할 수 있습니다. 빈 유형. 예는 다음과 같습니다. searchUser
함수의 $keyword
매개변수는 문자열 유형으로 지정되지만 null을 허용할 수 있습니다. 값. 전달된 값이 문자열 또는 <code>null
유형이 아닌 경우 치명적인 오류가 생성됩니다.
3. 유형 힌트의 장점:
위 내용은 PHP7의 유형 힌트 기능: 오류와 불확실성을 피하기 위해 함수의 매개변수 유형을 명확히 하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.
