티스토리 뷰

향상된 증가 및 감소 연산자 동작
++와 -- 연산자의 동작 개선
불필요한 문자열 증가가 제거되고, 불리언 및 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' 카테고리의 다른 글
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 |
Laravel 4.2 queue + redis + sqlite 구성 셋팅 (2) | 2017.08.30 |
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
- Make Use Of
- How to geek
- 인터넷 통계정보 검색시스템
- 트위터 공유 정보모음
- 웹표준KR
- 치우의 컴맹탈출구
- Dev. Cheat Sheets
- w3schools
- Dev. 조각들
- ASP Ajax Library
- CSS Tricks
- WebResourcesDepot
- jQuery Selectors Tester
- DeveloperSnippets
- Smashing Magazine
- Nettuts+
- devListing
- 웹 리소스 사이트(한)
- Mobile tuts+
- Dream In Code
- Developer Tutorials
- CSS3 Previews
- 자북
- 안드로이드 사이드
- Code Visually
- Code School
- SQLer.com
- 무료 파워포인트 템플릿
- iconPot
- Free PowerPoint Templates
- Design Bombs
- Web Designer Wall
- 1st Webdesigner
- Vandelay Design
- 무료 벡터 이미지 사이트들
- Tripwire Magazine
- Web TrendSet
- WebMonkey
- 윤춘근 프리젠테이션 디자이너 블로그
- cz.cc 무료 DNS
- [웹하드] MediaFire
- [웹하드] DivShare
- 한컴 인터넷 오피스
TAG
- 안드로이드
- mssql
- ASP
- IOS
- laravel
- javascript
- Debug
- Docker
- iis
- Wordpress
- sencha touch
- iphone
- 한글
- Chrome
- git
- nginx
- classic asp
- 워드프레스
- PHP
- Prototype
- CSS
- nodejs
- Android
- JQuery
- Mac
- Linux
- IE
- centos
- API
- JSON
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함