목차
Laravel 이란?
오픈소스 PHP 웹 프레임워크 중 하나
MVC모델로 웹 애플리케이션을 개발하기 위해 고안됨
Laravel Application의 Life Cycle
1-1. Entry Point
시작지점 (public/index.php)
1-2. HTTP Kernel
Application 셋업 및 미들웨어를 설정하고, 라우터를 실행
1-3. Router
Request에 일치하는 경로를 찾고 정의된 Controller나 Action Method, Closure 등을 실행
1-4. Middleware
경로에 지정된 처리의 실행 전후에 임의의 처리를 실행
Request나 Response에 포함 된 값의 갱신이나 암호화, 세션 실행, 인증 처리 등을 실행
여러 미들웨어를 조합하여 사용 가능
1-5. Controller or Closure
HTTP Request에 대응하는 처리를 실행
실질적인 비지니스 로직이 구현되는 곳으로 좁은 의미로의 Application의 실행 기점
처리를 완료하면 Response를 만들고 반환
디렉토리 구조
root/
|-- app/ : 컨트롤러나 모델, 미들웨어 등 주요한 처리 클래스가 모여있는 디렉토리
|-- bootstrap : 가장 먼저 실행되는 처리나 autoloading 설정, 퍼포먼스 향상을 위한 cache 등을 배치 (일반적으로 수정 불필요)
|-- config : 설정 파일을 배치 (composer로 프로젝트를 생성했을 경우 .env로 대체 됨, .env에 없는 설정을 config디렉토리의 설정을 사용)
|-- database : DB 관련 파일을 배치
|-- lang : 다국어 파일을 배치
|-- public : 엔트리 포인트(index.php)가 배치되는 루트로 설정
|-- resources : 뷰 파일, CSS, JavaScript 파일 등을 배치
|-- routes : 루트 정의 파일을 배치
|-- storage : 라라벨이 만드는 파일을 출력하는 위치로, 로그파일이나 캐시 및 컴파일 된 파일등을 배치
|-- tests : 테스트 코드 파일을 배치
|-- vendor : composer로 프로젝트를 생성했을 경우 다운로드된 패키지 및 Laravel 본체 코드가 배치, 버전관리에 비포함
루트 디렉토리의 파일
.editorconfig : IDE 또는 에디터에서 참고하는 코딩 표준 스타일 설정 파일
.env : 환경 변수를 지정하는 파일
.env.example : 환경설정 예제 파일
.gitattributes : git 디렉토리 및 파일 단위로 설정을 적용하는 파일
.gitignore : git 버전 관리 제외 대상 설정 파일
composer.json : 개발자가 편집하는 composer 설정 파일, 프로젝트의 구성과 의존성에 대한 정보
composer.lock : 자동으로 생성되는 composer 설정 파일, 프로젝트의 구성과 의존성에 대한 정보
package.json : 프론트엔드의 파일과 의존성에 대한 정보가 있는 설정 파일
phpunit.xml : 테스트에서 사용하는 PHPUnit 설정 파일
Github
'Laravel > Laravel_ex' 카테고리의 다른 글
seeders(database/seeders), factories(database/factories) (0) | 2023.05.27 |
---|---|
migrations(database/migrations) (0) | 2023.05.27 |
블레이드 템플릿(resources/views) (0) | 2023.05.24 |
라우트 정의(routes/web.php) (0) | 2023.05.23 |