네임 스페이스 / 폴더 규칙.
클래스는 네임 스페이스에 따라 폴더에 저장해야합니다.
일반적으로, root 폴더에 vendor /와 동일한 레벨에 src / 디렉토리를 작성하고 거기에 프로젝트를 추가합니다. 아래는 폴더 구조의 예입니다.
.
+-- src
|
+-- Book
| +-- History
| | +-- UnitedStates.php - namespace Book\History;
+-- Vehicle
| +-- Air
| | +-- Wings
| | | +-- Airplane.php - namespace Vehicle\Air\Wings;
| +-- Road
| | +-- Car.php - namespace Vehicle\Road;
+-- tests
+-- test.php
+-- vendor
psr-0과 psr-4의 차이점
psr-0
더 이상 사용되지 않습니다. vendor/composer/autoload_namespaces.php
파일을 보면 네임 스페이스와 이들이 매핑 된 디렉토리를 볼 수 있습니다.
composer.json
"autoload": {
"psr-0": {
"Book\\": "src/",
"Vehicle\\": "src/"
}
}
- 찾고 책 에서 \ 역사 \ 미국 에선 SRC / 도서 /History/UnitedStates.php
- 찾고 자동차 에 \ 항공 \ 날개 \ 비행기 SRC / 차량 /Air/Wings/Airplane.php
psr-4
vendor/composer/autoload_psr4.php
파일을 보면 네임 스페이스와 이들이 매핑 된 디렉토리를 볼 수 있습니다.
composer.json
"autoload": {
"psr-4": {
"Book\\": "src/",
"Vehicle\\": "src/"
}
}
- 찾고 책 에서 \ 역사 \ 미국 에선 SRC /History/UnitedStates.php
- src 에서 차량 \ Air \ Wings \ Airplane을 찾고 /Air/Wings/Airplane.php
composer.json
"autoload": {
"psr-4": {
"Book\\": "src/Book/",
"Vehicle\\": "src/Vehicle/"
}
}
- 찾고 예약 \ 역사 \ 미국 에선의 SRC / 도서 /History/UnitedStates.php
- 찾고 자동차 에 \ 항공 \ 날개 \ 비행기 SRC / 차량 /Air/Wings/Airplane.php