4. 뷰(View) 작성 및 데이터 전달
View는 사용자 인터페이스를 담당하며, 컨트롤러가 전달한 데이터를 표시합니다. PHP 코드를 최소화하여 가독성을 높여야 합니다.
4.1. 뷰 파일 작성 (app/Views)
app/Views/product_list.php 파일을 생성하여 HTML 마크업과 PHP를 혼합하여 데이터를 출력합니다.
<!-- app/Views/product_list.php -->
<h1>상품 목록</h1>
<?php foreach ($products as $product): ?>
<div>
<h3><?= esc($product['name']) ?></h3>
<p>가격: <?= esc($product['price']) ?>원</p>
</div>
<?php endforeach ?>
4.2. 컨트롤러에서 뷰로 데이터 전달
컨트롤러에서 Model을 통해 데이터를 가져온 후, 배열 형태로 View 함수에 전달합니다.
// app/Controllers/Products.php (일부 수정)
public function list()
{
$model = new \App\Models\ProductModel();
$data['products'] = $model->getAllProducts();
// View에 $data 배열을 전달
return view('product_list', $data);
}
뷰 파일 내부에서는 전달받은 데이터를 PHP 변수(예: $products)로 직접 사용할 수 있습니다.