- APP
:: 어플리케이션에 필요한 핵심코드들이 있는 디렉토리
- BOOTSTRAP
:: app.php와 cache디렉토리가 있다.
:: app.php는 프레임워크의 부트스트래핑을 담당, cache 디렉토리는 라우트나 서비스 캐시파일과 같은 퍼포먼스 향상을 위해 생성
- CONFIG
:: 애플리케이션의 구성/설정 파일이 있다
- DATABASE
:: 데이터베이스 마이그레이션 파일, 모델 팩토링, 시딩파일들이 있다
:: 이 디렉토리를 SQLite 데이터베이스가 저장되는 곳으로 사용 가능
- PUBLIC
:: 애플리케이션에 진입하는 모든 request-요청들에 대한 진입점 역할과 오토로딩을 설정하는 index.php 파일을 가지고 있다.
:: 이미지나 자바스크립트, CSS와 같은 asset파일들을도 포함되어 있다.
- Resources
:: 뷰 파일과 LESS, SASS, 자바스크립트와 같이 컴파일 되기 전의 asset파일들을 가지고 있다.
:: 다국어파일도 있다.
- Routes
:: 애플리케이션에서 정의된 모든 라우트들이 있다
:: 기본적으로 라라벨에서 제공하는 web.php, api.php, console.php 그리고 channels.php 파일이 포함
:: web.php 파일은 RouteServiceProvider 의 web 미들웨어 그룹안에 포함되는 라우트들을 포함하고 있으며, 세션 상태, CSRF 보호, 쿠키 암호화 기능을 제공
:: api.php 파일은 RouteServiceProvider 의 api 미들웨어 그룹안에 포함되는 라우트들을 포함하고 있으며, 접속 속도 제한 기능을 제공한다.
이 라우트들은 상태를 저장하지 않는것을 대상으로 하며 따라서 requests-요청들이 애플리케이션에 진입하면 이 라우트들을 통해서 토큰을 통해서 인증되고, 세션 상태에 엑세스 할 수 없다.
:: console.php 파일은 클로저 기반의 명령어들을 정의해 놓을 수 있는 파일이다.
각각의 클로저는 각각의 명령어 IO 메소드와 상호작용하는 간단한 명령어를 구현하는 명령어 인스턴스에 바인드 되어 있습니다. 이 파일에는 HTTP 라우트가 정의되어 있지는 않지만, 애플리케이션에 콘솔 기반의 진입점(라우트와 비슷하게)을 정의한다.
:: channels.php 파일은 애플리케이션에서 지원하는 모든 이벤트 브로드캐스팅 채널을 등록하는 파일이다.
- Storage
:: 블레이트 템플릿, 파일 기반의 세션, 파일 캐시 그리고 기타 프레임워크에서 생성된 파일들이 있다
:: app, framework 그리고 logs 디렉토리로 구성되어 있다
:: app 디렉토리는 애플리케이션에 의해서 생성된 파일을 저장하는데 사용
:: framework 디렉토리는 프레임워크가 생성한 파일들과 캐시를 저장하는데 사용
:: logs 디렉토리는 애플리케이션의 로그 파일들을 가지고 있다.
- Tests
:: 테스트관련 디렉토리
:: 별다른 설정없이 PHPUnit 테스트의 예제가 제공
:: 각각의 테스트 클래스는 Test 라는 단어가 붙어 있어야 합니다. phpunit 또는 php vendor/bin/phpunit 명령어를 통해서 테스트를 실행할 수 있다.
- Vendor
:: Composer의 의존성 폴더
'Web Programming > Laravel' 카테고리의 다른 글
[LARAVEL] 이해하기 쉬운 Laravel의 생명주기 (0) | 2024.12.13 |
---|