개발블로그

PHP 네임스페이스와 use 본문

STUDY/PHP

PHP 네임스페이스와 use

devmel 2026. 9. 5. 14:59
Contents 접기
 

네임스페이스

 

개념

클래스 이름의 충돌을 막기 위한 이름 공간 (이름 앞에 소속 공간)

네임스페이스를 두면 같은 클래스 이름이라도 서로 다른 공간에 둘 수 있다. 

 

문법

namespace 키워드로 클래스가 속할 이름 공간을 선언

- 보통 파일 경로와 비슷하게 맞춰 사용함 => 클래스가 어느 영역에 속하는지 파악하기 쉽고, 자동 로딩 설정과도 잘 어울림.

다, 네임스페이스와 파일 경로가 자동으로 연결되는 것은 아님. 파일 안에 직접 선언해야 함.

 

as로 별칭을 지정 가능

- 너무 추상적이거나 일관성이 없으면, 오히려 읽기 어려워 질 수 있음.

- 과한 별칭은 원래 클래스의 소속을 파악하기 어려울 수 있음.

 

EX]

<?php

namespace App\Service;

class Logger
{
}

=> Logger 클래스의 전체 이름 = App\Service\Logger

 

 

 

 

 


 

use

개념

다른 네임스페이스에 있는 클래스를 현재 파일에서 짧게 사용하기 위한 문법

 

$logger = new App\Service\Logger();
 // 매번 전체 이름으로 쓰면 코드가 길어짐
 
use App\Service\Logger;
// 별칭
use External\Library\Logger as ExternalLogger;

$logger = new Logger(); // 짧은 파일 이름으로 사용 가능
$externalLogger = new ExternalLogger();