[LARAVEL] 기본 구조 흐름

김세연·2025년 4월 22일

Laravel

목록 보기
2/14
post-thumbnail

Laravel의 기본적인 구조 흐름

1. Route (라우팅)

  • 클라이언트 요청(URL)을 받아서 어떤 동작을 할지 지정한다.
  • routes/web.php 또는 routes/api.php에 정의한다.
// routes/web.php
Route::get('/hello', [HelloController::class, 'index']);

2. Controller (컨트롤러)

  • 실제 비즈니스 로직을 처리한다.
  • app/Http/Controllers 폴더에 위치한다.
  • 모델과 뷰 사이를 중재한다.
// app/Http/Controllers/HelloController.php
class HelloController extends Controller {
    public function index() {
        $name = "철수";
        return view('hello', ['name' => $name]);
    }
}

3. Model (모델)

  • 데이터베이스와 직접 연결되는 부분이다.
  • Eloquent ORM을 사용하여 DB를 객체처럼 다룬다.
  • app/Models 폴더에 위치한다.
// app/Models/User.php
class User extends Model {
    protected $fillable = ['name', 'email'];
}
// 예: 사용자 목록 가져오기
$users = User::all();

4. View (뷰)

  • 사용자에게 보여지는 화면이다. (HTML, Blade 템플릿 사용)
  • resources/views 폴더에 .blade.php 파일로 저장한다.
<!-- resources/views/hello.blade.php -->
<h1>Hello, {{ $name }}</h1>

실제 요청 흐름 예시

브라우저가 /hello로 접근하면?

  • Route: routes/web.php가 URL 매칭
  • Controller: HelloController@index 실행
  • View: 컨트롤러가 view('hello') 반환
  • 응답: Blade 템플릿이 HTML로 렌더링되어 브라우저에 전달
profile
공부 재밌따

0개의 댓글