PHP7.2 더 이상 사용되지 않는 기능

Unquoted strings

존재하지 않는 전역 상수인 인용되지 않은 문자열은 자체 문자열로 간주됩니다. 이 동작은 E_NOTICE를 내보내는 데 사용되었지만 이제 E_WARNING을 내보냅니다. PHP의 다음 주요 버전에서는 대신 오류 예외가 발생합니다.

                  
<?php

var_dump(NONEXISTENT);

/* Output:
Warning: Use of undefined constant NONEXISTENT - assumed 'NONEXISTENT' (this will throw an Error in a future version of PHP) in %s on line %d
string(11) "NONEXISTENT"
*/
                  
                

png2wbmp() and jpeg2wbmp()

GD 확장의 png2wbmp()jpeg2wbmp() 함수는 이제 더 이상 사용되지 않으며 PHP의 다음 주요 버전에서 제거됩니다.


INTL_IDNA_VARIANT_2003 variant

Intl 확장은 현재 idn_to_ascii()idn_to_utf8()의 기본값으로 사용되는 INTL_IDNA_VARIANT_2003 변형을 더 이상 사용하지 않습니다. PHP 7.4에서는 이러한 기본값이 INTL_IDNA_VARIANT_UTS46으로 변경되고 PHP의 다음 주요 버전에서는 INTL_IDNA_VARIANT_2003이 완전히 제거됩니다.


__autoload() method

__autoload() 메서드는 spl_autoload_register()보다 열등하고(자동 로더를 연결할 수 없기 때문에) 더 이상 사용되지 않으며 두 자동 로드 스타일 간에 상호 운용성이 없습니다.


track_errors ini setting and $php_errormsg variable

track_errors ini 설정이 활성화되면 치명적이지 않은 오류가 발생할 때 $php_errormsg 변수가 로컬 범위에 생성됩니다. 이러한 오류 정보를 검색하는 기본 방법은 error_get_last()를 사용하는 것이므로 이 기능은 더 이상 사용되지 않습니다.


create_function() function

이 함수의 보안 문제(eval() 주위의 얇은 래퍼)를 감안할 때 이 날짜가 지정된 함수는 이제 더 이상 사용되지 않습니다. 선호되는 대안은 익명 함수을 사용하는 것입니다.


mbstring.func_overload ini setting

이 설정이 활성화된 환경에서 사용되는 문자열 기반 함수의 상호 운용성 문제를 감안할 때 이제는 더 이상 사용되지 않습니다.


(unset) cast

이 유형으로 표현식을 캐스팅하면 항상 null이 발생하므로 이 불필요한 캐스팅 유형은 이제 더 이상 사용되지 않습니다.


parse_str() without a second argument

parse_str()에 대한 두 번째 인수가 없으면 쿼리 문자열 매개변수가 로컬 기호 테이블을 채웁니다. 이것의 보안 의미를 감안할 때 두 번째 인수 없이 parse_str()을 사용하는 것은 이제 더 이상 사용되지 않습니다. 두 번째 인수로 인해 쿼리 문자열이 배열로 구문 분석되므로 함수는 항상 두 개의 인수와 함께 사용해야 합니다.


gmp_random() function

이 함수는 노출되지 않은 플랫폼별 팔다리 크기로 계산된 범위를 기반으로 난수를 생성합니다. 이 때문에 이 기능은 이제 더 이상 사용되지 않습니다. GMP 확장을 사용하여 난수를 생성하는 기본 방법은 gmp_random_bits()gmp_random_range()를 사용하는 것입니다.


each() function

이 함수는 일반적인 foreach보다 반복 시 훨씬 느리고 일부 언어 변경에 대한 구현 문제를 일으킵니다. 따라서 더 이상 사용되지 않습니다.


assert() with a string argument

문자열 인수와 함께 assert()를 사용하려면 문자열을 평가()해야 합니다. 원격 코드 실행의 가능성을 감안할 때 문자열 인수와 함께 assert()를 사용하는 것은 이제 부울 표현식을 사용하기 위해 더 이상 사용되지 않습니다.


$errcontext argument of error handlers

$errcontext 인수에는 오류 사이트의 모든 로컬 변수가 포함됩니다. 드문 사용법과 내부 최적화로 인해 발생하는 문제를 감안할 때 이제는 더 이상 사용되지 않습니다. 대신 디버거를 사용하여 오류 사이트에서 로컬 변수에 대한 정보를 검색해야 합니다.


read_exif_data() function

read_exif_data() 별칭은 더 이상 사용되지 않습니다. exif_read_data() 함수를 대신 사용해야 합니다.