- Migrating from PHP 7.3.x to PHP 7.4.x

https://www.php.net/manual/en/migration74.php




//------------------------------------

< 비호환 변화 (Backward Incompatible Changes ) >

https://www.php.net/manual/en/migration74.incompatible.php



* fn 키워드

 

* 패스워드 해시 알로그즘 상수가 숫자가 아닌 문자를 리턴

PASSWORD_DEFAULT    1 -> null

PASSWORD_BCRYPT     1 -> '2y'

PASSWORD_ARGON2I    2 -> 'argon2i'

PASSWORD_ARGON2ID   3 -> 'argon2id'



* fread() , fwrite() 실패시 리턴값 0 -> false

 

* curl_version() 의 $version 파라미터 삭제 예정



* DateInterval 개체에서 (==, < , ..)등을 사용하면 false 리턴 



* INTL_IDNA_VARIANT_2003 값 삭제 예정

    idn_to_ascii() , idn_to_utf8() 의 기본값이  INTL_IDNA_VARIANT_UTS46 로 바뀜




//------------------------------------

< v7.4에서 삭제 예정 기능 > deprecated

https://www.php.net/manual/en/migration74.deprecated.php

 

1 ? 2 : 3 ? 4 : 5;   // deprecated

 

(real) , is_real()  -> 권장 (float) , is_float()

 

allow_url_include

 

array_key_exists()를 object에 사용할수 없음

    -> 권장 : 개체에는  isset() 나  property_exists() 사용 

 

get_magic_quotes_gpc() , get_magic_quotes_runtime()  : 항상 false 리턴 

    - magic quotes 기능은 php 5.4에서 사라짐, 자동으로 이스케이프(addslash())하는 기능




//------------

convert_cyr_string() -> 권장 mb_convert_string(), iconv() or UConverter.

 

money_format() -> 권장 NumberFormatter 

 

implode(array, glue) -> 권장 implode(glue, array)

 

FILTER_SANITIZE_MAGIC_QUOTES -> FILTER_SANITIZE_ADD_SLASHES 



mb_ereg_replace() 비문자열 패턴은 ASCII codepoints로 변역  PHP 8에서는 string 

 

mb_strrpos() 3번째 인자 제거됨 

 

ReflectionType::__toString() 



반응형
Posted by codens