티스토리 뷰
향상된 증가 및 감소 연산자 동작
++와 -- 연산자의 동작 개선
불필요한 문자열 증가가 제거되고, 불리언 및 null 값도 숫자로 간주
// PHP 8 및 이전
$foo = 'a9';
$foo++;
echo $foo; // 결과: 'b0'
// PHP 9
$foo = 'a9';
$foo++; // TypeError 발생
빈 문자열이 숫자로 변환되는 것 금지
// PHP 8 및 이전
$baz = '';
$baz--; // 결과: int(-1)
// PHP 9
$baz = '';
$baz--; // TypeError 발생
역직렬화 오류 발생 시 예외 처리
역직렬화 실패시 E_WARNING에서 UnserializationFailedException으로 상향
// PHP 8.3
unserialize("foo"); // 경고 발생
// PHP 9.0
unserialize("foo"); // Uncaught UnserializationFailedException 발생
단순화된 함수 시그니처
함수의 시그니처가 단순화되어 사용하기 더 쉬워짐.
예를 들어, array_keys()의 동작 변경
// 현재 PHP:
$allKeys = array_keys($myArray);
$specificKeys = array_keys($myArray, 'searchValue', true);
// PHP 9:
$allKeys = array_keys($myArray);
$specificKeys = array_keys_filter($myArray, 'searchValue', true);
잘못된 값에 대한 배열 생성 금지
PHP 9.0에서는 false를 배열로 자동 변환하는 기능 제거
$arr = false;
$arr[] = 2; // 오류 발생: Cannot use a scalar value as an array
간소화된 문자열 보간
PHP 9.0에서는 중괄호를 사용한 문자열 보간 방식 일부 제거
$foo = 'world';
echo "Hello ${foo}"; // 오류 발생
// 대신 사용할 수 있는 방법
echo "Hello $foo"; // 이 방법은 사용 가능
echo "Hello {$foo}"; // 이 방법은 사용 가능
경고를 오류로 변경
정의되지 않은 변수에 대한 경고를 오류로 상향
echo $foo; // PHP 8.x에서는 경고, PHP 9.0에서는 fatal error
이전 PHP 버전의 비활성화된 기능 제거
PHP 8.1에서 비활성화된 기능들은 PHP 9.0에서 제거됨.
이전 버전의 경고를 무시했던 개발자들은 대비.
참고
'웹프로그래밍 > PHP' 카테고리의 다른 글
라이믹스 인증 폼 Captcha 나타나지 않을때 스킨에 강제 추가 (0) | 2025.06.13 |
---|---|
macOS에서 MailHog로 PHP mail() SMTP 개발환경 설정 (0) | 2019.02.22 |
Lavavel Valet 개별 사용자 환경설정 디렉토리 (0) | 2019.02.13 |
.composer/vendor/ 패키지 오류 발생시 (0) | 2018.11.29 |
[책 후기] 바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서 (0) | 2018.02.04 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Docker
- Debug
- Wordpress
- classic asp
- Android
- sencha touch
- ASP
- JQuery
- nodejs
- Linux
- javascript
- nginx
- mssql
- macos
- 워드프레스
- PHP
- 안드로이드
- Mac
- API
- git
- IE
- IOS
- Prototype
- CSS
- JSON
- 한글
- centos
- iphone
- laravel
- iis
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함