PSR-4 자동 로딩 표준
PSR-4가 네임스페이스 구간을 디렉터리 경로에 매핑하는 방식을 이해합니다.
PSR-4 자동 로딩 표준은(는) CoddyKit의 무료 PHP Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 PHP Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. PHP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
자동 로드란 무엇입니까
자동 로드는 클래스를 처음 사용할 때 PHP가 해당 클래스 파일을 자동으로 불러오는 것을 의미합니다. 수동으로 require를 작성할 필요가 없습니다.
자동 로드 이전
자동 로드가 없으면 모든 파일의 시작 부분에 수십 개의 require_once 호출을 작성해야 했으며, 이는 취약하고 유지 관리가 어려웠습니다.
PSR-4 규칙
PSR-4는 네임스페이스 접두사를 기본 디렉터리에 매핑합니다. 접두사 App\이 src/에 매핑되는 경우, App\Models\User는 src/Models/User.php에서 로드됩니다.
매핑 공식
접두사를 제거하고, 남은 백슬래시를 디렉터리 구분자로 바꾼 다음 .php를 추가합니다.
App\Services\Payment\Stripe → src/Services/Payment/Stripe.php
composer.json의 자동 로드 섹션
composer.json에서 PSR-4 매핑을 정의하십시오. 변경한 후에는 composer dump-autoload를 실행하십시오.
// composer.json
{
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}여러 네임스페이스 접두사
프로젝트에는 여러 PSR-4 매핑을 사용할 수 있으며, 테스트 네임스페이스를 분리할 때 유용합니다.
// composer.json
{
"autoload": { "psr-4": { "App\\": "src/" } },
"autoload-dev": { "psr-4": { "Tests\\": "tests/" } }
}클래스 이름 = 파일 이름
클래스 이름은 파일 이름과 정확히 일치해야 합니다(Linux에서는 대소문자를 구분합니다). class UserService는 UserService.php에 있어야 합니다.
파일당 하나의 클래스
PSR-4에서는 파일마다 정확히 하나의 클래스, 인터페이스 또는 트레이트가 필요합니다. 여러 정의를 작성하면 자동 로드가 중단됩니다.
PSR-4와 PSR-0 비교
PSR-0(사용 중단됨)은 클래스 이름의 밑줄을 디렉터리 구분자로 사용했습니다. PSR-4는 더 깔끔하며 현재 표준입니다.
생성된 자동 로더
composer dump-autoload를 실행하면 컴포저가 vendor/autoload.php를 작성합니다. 진입점에서 한 번만 불러오십시오.
<?php
require __DIR__.'/vendor/autoload.php';
$user = new App\Models\User(); // autoloads automatically클래스 맵 대체 방식
컴포저는 PSR-4를 따르지 않는 파일을 위해 클래스 맵도 생성합니다. 레거시 코드에 유용합니다.
실용적인 디렉터리 구조
src/\n Models/User.php → App\Models\User\n Http/Controllers/\n UserController.php → App\Http\Controllers\UserController
빠른 확인
접두사 App\\이 src/에 매핑될 때 PSR-4는 App\Services\Mailer를 어디에서 찾습니까?
자주 묻는 질문
“PSR-4 자동 로딩 표준” 강의는 무료인가요?
네 — “PSR-4 자동 로딩 표준” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 PHP Academy 강의 전체를 잠금 해제할 수 있습니다. PHP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“PSR-4 자동 로딩 표준”에서 뭘 배우나요?
PSR-4가 네임스페이스 구간을 디렉터리 경로에 매핑하는 방식을 이해합니다. 브라우저에서 직접 실행하는 실습 코드로 PHP Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
PHP Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 PHP Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“PSR-4 자동 로딩 표준” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 PHP Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 PHP Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 네임스페이스 선언 및 사용
- 중첩 네임스페이스 및 별칭
- PSR-4 자동 로딩 표준
- 자동 로더 등록