Laravel PHP 구성

부드러운 IT 카메이 료스케입니다!
손님처에서 Laravel PHP, Docker등을 채용하고 있어 노하우 등을 공개합니다!

목적



새로운 프레임워크로 만들거나 오랜만에 이용하는 프레임워크를 만질 때, 프레임워크마다 폴더 구성이 다르게 당황하지 않습니까?
외관에 대해서는 정해진 규칙이 없기 때문에 추천 예로서 기재합니다!

구성



프로젝트 바로 아래 폴더


템플릿 자동 생성



아래는 자동 생성하면 편리합니다.
자동 생성에 대한 자세한 내용은 별도 기사로 합니다.
- 모델
- 보기
- 컨트롤러
- 마이그레이션
- 시더



모델 컨트롤러 외관 관련 파일 폴더를 놓습니다.


앱 바로 아래



app 바로 아래의 .php는 모델입니다.
모델은
1. 관련 테이블명(Laravel 명명규칙에 따르면 생략 가능)
2. 프라이머리 키(Laravel 명명 규칙에 따르면 생략 가능)
3. Eloquent hasMany, belongsTo 설정
등을 기재합니다.
(자세한 내용은 별도 기사로 합니다)

app/Http



컨트롤러입니다.
컨트롤러는 브라우저 세션에서 값을 받고, 비즈니스 로직(파사드)과 연동하며, 뷰에 값을 전달합니다.
(자세한 내용은 별도 기사로 합니다)

외관 관련



자세한 내용은 별도 기사로 합니다.

Providers



서비스 제공자
템플릿을 자동 생성하고 규칙에 빠져 있습니다.

Facades



외관
규칙에 밀접하게 기재

서비스



서비스
외관으로 처리하는 본체를 기재

resources/views



보기입니다.


resources/views/layout.blade.php



머리글이나 바닥글 등 전체 화면 공통 부분의 보기
layout.blade.php를 파트화하는 경우이 폴더에 넣으면 이해하기 쉽습니다.

resources/views/모델 이름 폴더



각 컨트롤러의 액션에서 호출할 뷰를 놓습니다.

- index.blade.php 목록
- create.blade.php 신규 등록
- edit.blade.php 업데이트 화면
- show.blade.php 상세 화면

database



마이그레이션 파일과 시더 파일이 있습니다.
(별도 상세 기사)


database/migrations



마이그레이션
테이블 구성(SQL CREATE문)을 설명합니다.
테이블 구성을 프로그램으로 관리하고 버전 관리할 수 있으므로 편리합니다.

database/seeds



시더
데이터(SQL INSERT문)를 기재합니다.
초기 데이터를 프로그램으로 관리하고 버전 관리할 수 있으므로 편리합니다.
대량 더미 데이터 생성 등도 여기에서 실시하면 편리합니다.

tests



(자동화된) 테스트를 설명합니다.
(별도 상세 기사)

공개



이미지나 css, JavaScript, 폰트 파일 등을 놓습니다.



config



설정 파일입니다.
자주 사용하는 것은 외관을 만들 때 추가하는 app.php입니다.
app.php는 별도 상세 기사



routes



라우팅을 설명합니다.
라우팅은 URL과 컨트롤러를 작업과 연결합니다.
(별도 상세 기사)



routes/api.php



API용 라우팅

routes/console.php



쿨롱용 라우팅

routes/web.php



웹용(브라우저에서 정상적으로 액세스)용 라우팅

storage



log 이외는 별로 보지 않는다고 생각합니다.

storage/logs/laravel.log



로그입니다. 아래와 같이 실시간으로 모니터링하면 편리합니다.

로그 보기
$ tail -f {プロジェクト}/storage/logs/laravel.log

vendor



확장 모듈(?) 라이브러리입니다.

좋은 웹페이지 즐겨찾기