---
id: php-magic-constants
title: "PHP Magic Constants"
category: "Programming_Language"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["__LINE__", "__FILE__", "PHP 매직 상수"]
duplicate_of: ""
source_trust_level: "B"
confidence_score: 0.88
created_at: 2026-07-04
updated_at: 2026-07-04
review_reason: ""
merge_history: []
tags: ["php", "programming", "w3schools", "magic-constants"]
raw_sources: ["https://www.w3schools.com/php/php_magic_constants.asp"]
applied_in: []
github_commit: ""
---

# [[PHP Magic Constants]]

## 🎯 한 줄 통찰 (One-line insight)
Magic constants are the opposite of normal constants — instead of holding a fixed value defined once, each one dynamically CHANGES based on where in the code it's evaluated (`__LINE__` differs on every line, `__FUNCTION__` differs per function), making them contextual metadata rather than stored values. [S1]

## 🧠 핵심 개념 (Core concepts)
- **Magic constants** — 9 predefined constants whose value depends on where they're used, providing script-state info (file, line, class, function, namespace). [S1]
- **Naming convention** — start and end with double underscores `__`, except `ClassName::class`. [S1]
- **Not case-sensitive** — `__LINE__` and `__line__` are equivalent. [S1]
- **The 9 constants** — `__CLASS__`, `__DIR__`, `__FILE__`, `__FUNCTION__`, `__LINE__`, `__METHOD__`, `__NAMESPACE__`, `__TRAIT__`, `ClassName::class`. [S1]

## 📖 세부 내용 (Details)
- `__CLASS__` — class name if used inside a class. [S1]
- `__DIR__` — directory of the current file. [S1]
- `__FILE__` — full path + filename. [S1]
- `__FUNCTION__` — current function name. [S1]
- `__LINE__` — current line number. [S1]
- `__METHOD__` — class name + function name combined. [S1]
- `__NAMESPACE__` — current namespace name. [S1]
- `__TRAIT__` — current trait name. [S1]
- `ClassName::class` — fully qualified class name including namespace. [S1]

## ⚖️ 모순 및 업데이트 (Contradictions & updates)
소스에서 모순되는 정보는 발견되지 않음.

## 🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례가 없습니다 — __LINE__/__FILE__은 디버깅/로깅 시 에러 위치를 정확히 기록하는 데 자주 쓰인다. [S1]

## 💻 코드 패턴 (Code patterns)
Magic constants reflect their context (PHP):
```php
echo __LINE__;      // current line number
echo __FILE__;      // full path of this file
echo __FUNCTION__;  // name of the enclosing function
```

## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual
- **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body)
- **신뢰 점수:** 0.88
- **중복 검사 결과:** 신규 생성 (New discovery)

## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[PHP Tutorial]]
- **관련 개념:** [[PHP Constants]], [[PHP Operators]], [[PHP OOP Classes Objects]]
- **참조 맥락:** 문맥 의존적 상수 — 연산자(Operators) 챕터로 이어짐.

## 📚 출처 (Sources)
- [S1] W3Schools — PHP Magic Constants — https://www.w3schools.com/php/php_magic_constants.asp

## 📝 변경 이력 (Change history)
- 2026-07-04: Initial draft synthesized from the W3Schools "PHP Magic Constants" page (Astra wiki-curation, P-Reinforce v3.1 format).
