Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP 7 그룹 use 선언(Group Use Declaration)으로 코드 깔끔하게 정리하기

PHP 7에서 도입된 그룹 use 선언(Group Use Declaration)은 가독성을 크게 향상시키는 기능으로, 동일한 네임스페이스에 속한 클래스, 상수, 함수를 한 번에 손쉽게 임포트할 수 있도록 해줍니다.

그룹 use 선언은 하나의 네임스페이스에서 여러 구조체를 간편하게 가져올 수 있게 하여, 대부분의 경우 코드의 장황함(verbosity)을 상당히 줄여줍니다. 또한 같은 모듈에 속한 여러 임포트 항목들을 한눈에 파악할 수 있다는 점에서도 매우 유용합니다.

예제 1 — PHP 7 이전 방식

다음 예제는 PHP 7 이전 버전에서 사용하던 코드입니다.

<?php
    use com\India\ClassX;
    use com\India\ClassY;
    use com\India\ClassZ as Z;

    use function com\India\fn_x;
    use function com\India\fn_y;
    use function com\India\fn_z;

    use const com\India\ConstX;
    use const com\India\ConstY;
    use const com\India\ConstZ;
?>

예제 2 — PHP 7 이상 방식

다음은 PHP 7 및 그 이상 버전에서 그룹 use 선언을 활용한 코드입니다.

use com\India\{ClassX, ClassY, ClassZ as Z};
use function com\India\{fn_x, fn_y, fn_z};
use const com\India\{ConstX, ConstY, ConstZ};

코드 설명

예제 1에서는 네임스페이스 내의 개별 클래스, 함수, 상수마다 별도의 use 문을 작성해야 했습니다. 그 결과 파일 상단에 중복된 라인과 수많은 use 문이 반복되어 코드가 지저분해지고 관리하기 어려워집니다.

반면 예제 2는 PHP 7의 그룹 use 선언을 적용한 동일한 코드로, 여러 클래스, 함수, 상수를 단 몇 줄 안에 깔끔하게 처리할 수 있습니다.

참고: 반복되는 use 문과 클래스 임포트의 번거로움을 해결하기 위해 PHP 7에서는 바로 이 '그룹 use 선언(group use declaration)'이라는 새로운 기능이 추가되었습니다.