Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- Agent Loop
- 매직메서드
- PHP객체지향
- 데이터베이스
- MySQL
- ai agent
- PHP
- SQL기초
- docker network
- Tool Calling
- 어댑터패턴
- linux 권한
- ai 에이전트
- SQL문법
- docker
- dhgrp
- 데코레이터패턴
- 객체지향
- mcp client
- 디자인패턴
- Laravel
- MCP
- 소프트웨어설계
- SQL
- 인덱스
- 객체복제
- 라라벨
- LLM
- OOP
- mcp server
Archives
- Today
- Total
개발블로그
PHP 네임스페이스와 use 본문
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();
'STUDY > PHP' 카테고리의 다른 글
| [객체지향] PHP Trait (1) | 2026.09.05 |
|---|---|
| PHP 변수 대입과 객체 복제 (1) | 2026.09.05 |
| [객체지향] PHP 매직 메서드 (0) | 2026.09.05 |
| [객체지향] PHP static과 스코프 해석 연산자 (0) | 2026.09.05 |
| Web Server에서 PHP가 실행되는 구조 (0) | 2026.08.29 |