기본 콘텐츠로 건너뛰기

PHP 5.6의 주요 특징



지난 8월에 PHP 5.6이 발표되었습니다. 얼마전에 5.6.1 마이너 업데이트가 나오기도 하였는데 PHP 5.6에 추가되거나 변경된 주요 특징들에 대해서 PHP 5.6 릴리즈 노트를 통해 정리해보도록 하겠습니다.


1. 상수 선언에 표현식 지원

상수를 선언할때 변수처럼 표현식을 사용할 수 있게 되었습니다.

const CONSTANT = 'Hello World';
const ANOTHER_CONST = CONSTANT . '; Goodbye World';


2. 가변길이 인수에 대한 문법 추가

가변길이 인수에 사용되는 ... 연사자가 추가된 것인데 이건 아래 예제를 보시는 것이 이해가 빠르실 것 같습니다.

function sum(...$numbers) {
    $acc = 0;
    foreach ($numbers as $n) {
        $acc += $n;
    }
    return $acc;
echo sum(1, 2, 3, 4);

기존에는 이런 함수에는 배열을 인수로 넘겼는데 ... 연산자를 사용해 같은 효과를 거둘 수가 있습니다. .. 연산자와 함께 type hint를 사용할 수도 있습니다.

이 연산자는 위 예제와는 반대로 아래 예제와 같이 인수로 배열을 넘기면 함수에서 이를 해체해 사용하는 형태로도 사용이 가능합니다.

function add($a, $b) {
    return $a + $b;
echo add(...[1, 2])."\n";


3. 거듭제곱 연산자(**) 추가


4. use 키워드를 사용한 함수와 상수 임포팅

PHP에서 네임스페이스를 사용할때 사용되는 use 키워드에 특정 네임스페이스에 있는 함수와 상수를 임포트할 수 있는 기능이 추가되었습니다.

namespace Name\Space {
    const FOO = 42;
    function f() { echo __FUNCTION__."\n"; }
namespace {
    use const Name\Space\FOO;
    use function Name\Space\f;
    echo FOO."\n";
    f();
}


5. SAPI 모듈을 위한 새로운 phpdbg 디버거


6. php://input는 재사용이 가능하게 되었으며 $HTTP_RAW_POST_DATA는 폐기


7. GMP 객체에서 연산자 오버로딩 지원


8. 2 기가바이트 이상의 파일 업로드 지원


===


사진 포트폴리오 - City, City People (http://photo.just4fun.kr/)

사진 매거진 앱 - Viewzin (http://viewzin.just4fun.kr/)



이 블로그의 인기 게시물

구글 결제에서 결제 수단 등록 문제

얼마 전 카드를 새로 만들어서 구글 결제의 결제 수단을 교체하려고 하였는데 카드 번호가 잘못되었다라고 하면서 등록이 되지 않았습니다. 관련해서 검색을 해보니 이런 문제가 흔히 발생하고 있더군요. 저처럼 당황하실 분들을 위해 구글 고객센터와 통화해 해결하면서 알아낸 것들을 공유하겠습니다.

크롬북에서 리눅스 앱 사용 후기

새로 구입한 픽셀 슬레이트에서 리눅스 앱을 실행시켜본 후 작성한 후기입니다. 현재 크롬북에서 리눅스 앱을 실행시키는 기능은 베타이니 이점을 고려하시고 보시면 좋을 것 같습니다.

Google Pixel Slate : 혼돈의 카오스

기존에 사용하던 픽셀 C의 교체 기기로 구입한 Pixel Slate(픽셀 슬레이트)는 제가 개인적으로 구입한 IT 기기 중 가격을 고려한다면 가장 실망한 기기입니다. 지적할 문제가 너무 많아 어디서부터 이야기해야 하나 고민을 하다가 가장 큰 문제라고 생각한 OS의 '일관성'에 대한 부분만 이야기하고 다른 것들에 대해서는 글 마지막 부분에 간단 리스트로 정리하기로 하였습니다.