EZFUNLAB 번역버튼
🌐

codelgniter4 기본이해

코드이그나이터는 Model-View-Controller 아키텍처를 사용합니다

예시

app/
└── Config/
│      └── Routes.php  ← 컨트롤러(URL 설정)
├── Controllers/
│      └── Controller.php  ← 처음요청받음
└── Model/
│      └── model.php  ← 요청 받은 내용 처리
└── Views/
        └── index.php  ← 요청 받은 내용 출력

CodeIgniter 4에서 컨트롤러(Controller), 뷰(View), **모델(Model)**은 웹 애플리케이션의 구조를 분리하는 데 사용되는 MVC(Model-View-Controller) 패턴의 핵심 구성 요소입니다. 각 요소의 역할은 다음과 같습니다.

컨트롤러 (Controller)

컨트롤러는 사용자의 요청을 가장 먼저 받아들이는 역할. 사용자의 요청을 처리하고, 필요에 따라 모델과 상호작용하며 데이터를 가져오거나 수정합니다. 데이터 처리 후, 어떤 를 보여줄지 결정하고 데이터를 로 전달합니다. 즉, 컨트롤러는 애플리케이션의 ‘중개자’ 또는 **’로직’**을 담당합니다.

<?php
namespace App\Controllers;
class Home extends BaseController
{
    public function index()
    {
        $data['title'] = "CodeIgniter 4 예제";
        $data['message'] = "안녕하세요, CodeIgniter 4입니다!";

        return view('index', $data);
    }
}


뷰 (View)

는 사용자에게 보여지는 화면을 담당합니다. 웹 페이지의 HTML, CSS, JavaScript 코드를 포함하며, 사용자에게 정보를 시각적으로 표현하는 역할입니다. 뷰는 직접 데이터를 처리하거나 모델과 상호작용하지 않고, 컨트롤러로부터 전달받은 데이터를 단순히 ‘표시’만 합니다.

<!DOCTYPE html>
<html>
<head>
    <title><?= esc($title) ?></title>
</head>
<body>
    <h1><?= esc($message) ?></h1>
</body>
</html>


모델 (Model)

모델은 데이터와 관련된 모든 로직을 담당합니다. 데이터베이스에 접속하여 데이터를 조회, 생성, 수정, 삭제하는 역할을 수행하며, 비즈니스 규칙을 포함할 수도 있습니다. 컨트롤러는 모델을 통해 필요한 데이터를 요청하고, 모델은 요청된 데이터를 컨트롤러에게 반환합니다. 모델은 ‘데이터 관리’ 역할을 합니다.

라우팅(Routing)

플리케이션의 URL을 컨트롤러와 연결하는 역할을 합니다.