기본 콘텐츠로 건너뛰기

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/)



이 블로그의 인기 게시물

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

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

유튜브 뮤직 : 음악 서비스입니다

구글 플레이 뮤직과 유튜브 뮤직 이라는 두개의 서비스로 나누어져 있던 구글의 음악 서비스가 유튜브 뮤직으로 통합된다고 합니다. 유튜브를 통해 가끔 음악을 듣기는 했지만 기본적으로 동영상 서비스인 유튜브로 음악을 듣는 것이 음악 전문 서비스만큼 편할까라는 생각이 들어 유튜브 RED를 신청해 며칠동안 사용해보았습니다.

Chromecast Audio 설정시 생길 수 있는 문제 두가지

Chromecast Audio(크롬캐스트 오디오)는 구글 플레이 뮤직이 국내 정식 서비스되면 구입을 하려고 했었는데 크롬캐스트를 지원하는 벅스에서 할인 판매를 하고있는 것을 보고 구입을 하였습니다. 단순한 기능만큼 설치도 쉬운 크롬캐스트 오디오이지만 저의 경우 사용하기 위해 설정을 하면서 두가지 문제를 겪었는데 다른 분들에게도 참고가 될 것 같아 정리를 해두겠습니다.