Laravel Reference
Laravel 프레임워크 레퍼런스
Laravel Reference 소개
Laravel Reference는 Laravel PHP 프레임워크에서 자주 사용하는 문법과 패턴을 검색 가능한 형태로 정리한 치트 시트입니다. 라우팅, Eloquent ORM, 미들웨어, Blade 템플릿, 마이그레이션, 인증의 6개 카테고리로 나뉘어 있어, 긴 공식 문서를 뒤지지 않고 필요한 항목을 바로 찾을 수 있습니다.
백엔드 개발자, 풀스택 엔지니어, PHP를 공부하는 학생 모두 REST API, 웹 애플리케이션, 관리자 패널을 개발할 때 이 레퍼런스를 활용합니다. Eloquent 섹션에는 Model::all(), Model::where() 같은 기본 쿼리부터 hasMany, belongsTo, belongsToMany 관계 정의까지 포함되어 있으며, 라우팅 섹션은 RESTful 리소스 라우트, 프리픽스 그룹, HTTP 메서드 등록을 다룹니다.
인증과 미들웨어 섹션은 실무에서 바로 쓸 수 있는 패턴을 담고 있습니다. Auth::attempt(), Auth::user()를 이용한 로그인 흐름, 라우트 레벨의 auth 미들웨어 적용, throttle을 활용한 요청 속도 제한, make:policy로 정책 기반 인가를 구현하는 방법까지 한눈에 확인할 수 있습니다.
주요 기능
- 라우팅: GET/POST/PUT/DELETE 등록, Route::resource 리소스 라우트, 프리픽스 그룹 예제 포함
- Eloquent ORM: find, where()->get(), create(), save(), hasMany/belongsToMany 관계 정의
- 미들웨어: make:middleware 명령, auth 가드 적용, throttle 속도 제한, 커스텀 핸들러 패턴
- Blade 템플릿: {{ }}/{!! !!} 출력, @if/@foreach 제어문, @extends/@section/@yield 레이아웃 상속
- 마이그레이션: make:migration, Blueprint 컬럼 타입, migrate/rollback/fresh --seed 명령
- 인증: Auth::attempt, Auth::user, Auth::logout, make:policy 기반 인가 생성
- 카테고리 필터로 Routing, Eloquent, Middleware 등 원하는 영역만 즉시 좁혀서 탐색
- 구문, 설명, 예제 코드를 동시에 검색 — 페이지 이동 없이 즉각 결과 표시
자주 묻는 질문
Laravel Reference에서 다루는 내용은 무엇인가요?
Laravel 프레임워크의 핵심 6개 영역을 다룹니다. 라우팅(HTTP 메서드, 리소스 라우트, 그룹), Eloquent ORM(CRUD 쿼리, 관계 정의), 미들웨어(auth, throttle, 커스텀 핸들), Blade 템플릿(출력, 조건문, 반복문, 레이아웃), 마이그레이션(스키마 생성과 실행), 인증(Auth 파사드, 가드, 정책)을 포함합니다.
Laravel에서 RESTful 리소스 라우트를 한 줄로 만들려면?
Route::resource('photos', PhotoController::class) 한 줄로 index, create, store, show, edit, update, destroy의 7가지 HTTP 엔드포인트가 자동 생성됩니다. 컨트롤러 메서드명도 규칙에 맞게 자동 매핑됩니다.
Blade에서 {{ }}와 {!! !!}의 차이는 무엇인가요?
{{ $var }}는 HTML 엔티티를 이스케이프해서 XSS 공격을 방지합니다. 사용자 입력값 출력에 사용하세요. {!! $html !!}은 이스케이프 없이 HTML을 그대로 출력합니다. WYSIWYG 에디터 등 신뢰할 수 있는 데이터에만 사용해야 합니다.
Laravel 마이그레이션은 어떻게 실행하나요?
Schema::create()와 Blueprint 콜백으로 스키마를 정의한 뒤 php artisan migrate를 실행합니다. 되돌리려면 php artisan migrate:rollback, 초기화 후 시딩까지 한 번에 하려면 php artisan migrate:fresh --seed를 사용합니다.
특정 라우트에만 미들웨어를 적용하려면?
라우트 정의에 ->middleware('auth')를 체이닝합니다. 예: Route::get('/dashboard', [DashController::class, 'index'])->middleware('auth'). 여러 미들웨어를 배열로 전달할 수 있고, 그룹 전체에 적용하려면 Route::middleware([])->group()을 사용합니다.
hasMany와 belongsToMany의 차이는?
hasMany는 1:N 관계로 외래 키가 연관 테이블에 있습니다(예: User hasMany Posts). belongsToMany는 N:N 관계로 두 모델의 외래 키를 저장하는 피벗 테이블이 필요합니다(예: User belongsToMany Roles).
Auth::attempt()는 내부적으로 어떻게 동작하나요?
이메일로 사용자를 조회한 뒤 Laravel의 해셔로 전달된 비밀번호를 해싱해 저장된 해시와 비교합니다. 일치하면 세션을 생성하고 true를 반환합니다. intended()와 함께 사용하면 로그인 전 접근하려던 URL로 리다이렉트할 수 있습니다.
오프라인에서도 사용할 수 있나요?
페이지가 한 번 로드되면 모든 레퍼런스 데이터는 브라우저 메모리에 저장됩니다. 이후 검색과 필터링은 서버에 요청을 보내지 않으므로 인터넷 연결 없이도 사용 가능합니다.