Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP의 gettype()과 PHP 8의 get_debug_type()의 차이점

<시간/>

이전 버전의 PHP에서는 변수의 유형을 가져오려면 gettype()을 사용했습니다. 기능. 이 함수는 문자열의 사용자 정의에서 변수 유형을 반환합니다. integer, string, array, boolean, double, resource, NULL, unknown type 등과 같은 가능한 모든 값을 반환합니다.

그러나 gettype에 문제가 있었습니다. 기능. 네이티브 및 친숙한 형식 이름을 반환하지 않습니다. float 대신 double을, int 대신 integer를 반환하는 식입니다.

이 문제를 극복하기 위해 PHP 8은 get_debug_type을 사용합니다. 기능.

get_debug_type() 함수

PHP 8에서 get_debug_type 함수는 실제 기본 유형의 변수를 반환합니다. double 및 integer 대신 float, int를 반환합니다. 이 함수는 객체의 클래스 이름을 자동으로 확인합니다.

get_debug_type() 기능 도움

  • 디버깅

  • 비즈니스 로직

  • 오류 보고

예:PHP에서 gettype() 함수 사용

<?php
   class Novel {}
   class Comments {}
   $novel = new Novel();
   if(! ($novel instanceof Comment)) {
      echo 'Expected ' . Comment::class . ' still got My' . (is_object($novel) ?
      get_class($novel) : gettype($novel));
   }
?>

출력

Expected Comment still got MyNovel

예시 :PHP 8에서 get_debug_type() 함수 사용

<?php
   class Novel {}
   class Comments {}
   $novel = new Novel();
   if(! ($novel instanceof Comment)) {
      echo 'Expected '.Comment::class.' still got My'.get_debug_type($novel);
   }
?>

출력

Expected Comment still got MyNovel