PHP 버전별 간단정리

2022. 5. 1. 18:28예전자료/개발공부합시다

PHP 버전이 올라가면서 함수가 생기고, 사라지고, 변경된다.

버전업 프로젝트 진행시 무지성으로 올리면 에러가 출력 된다. 주로 https://www.php.net 에서 함수를 확인 후 적용하면 된다. 그래서 버전이 올라가며 발생한 차이를 굳이 외울 필요가 없다.

근..! 데 5.6 버전에 없는게 너무 많다. 그리고 지금 php 버전은 8.1을 향해 가고 있다.

때문에 5.6부터 8.1 까지 어떻게 바뀌었는지 간단히 정리를 해볼까 한다.

PHP 5.6

  • 상수 표현식 지원
  • '...' 연산자를 이용한 함수 문법 지원
  • 추가된 use 문 (use function, use const)

php 7.0

  • PHP 5.6 보다 2배 빠른 속도
  • 매모리 사용량 대폭 감소
  • 일관된 64비트 지원 (Consistent 64-bit support)
  • 추상 구문 트리(Abstract Syntax Tree)

PHP 7.1

  • 함수리턴과 매개변수에 Null 지정(Nullable Type)
  • 리턴 타입에 이터러블과 Void 지원(Iterable and Void Returns)
  • try catch 구문에서 catch 에 한번에 여러 Exception 감지

PHP 7.2

  • PHP 7.1 대비 10%의 성능향상
  • Argon2 해시함수 지원
  • 추상클래스의 추상매서드를 오버라이딩 가능

PHP 7.3

  • PHP 7.2 대비 성능이 5% 향상되었다.
  • FastCGI 의 로그 작성이 최적화 되었다.
  • samesite 쿠키 지원

PHP 7.4

  • 프리로딩기능이 추가되어서 로딩성능이 10%향상되었다. 기본값은 off이므로 php.ini에서 수동으로 켜야한다.
  • Null 병합연산자 추가 (?? 물음표가 두개이다.) (Null coalescing)
  • 람다식이라고도 부르는 화살표함수 추가(Arrow functions)

PHP 8.0

  • Union Types
  • 표현식 일치
  • 널세이프 연산자

PHP 8.1

  • 클래스 상수에 대한 "최종" 수정자
  • 퍼스트 클래스 호출 가능 구문
  • 신규 array_is_list 함수

출처 : https://www.php.net/releases/8_1_0.php / https://ko.wikipedia.org/wiki/PHP