반응형
1. 뷰 페이지 레이아웃 파일 만들기
app\Views 폴더에 master.php라는 파일을 만듭니다. 이 파일을 가지고 레이아웃을 만들겠습니다.
app\Views\master.php
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8"/>
<title>
<?php echo $this->renderSection("pageTitle"); ?>
</title>
</head>
<body>
<?php echo $this->renderSection("content"); ?>
</body>
</html>
$this->renderSection()은 뷰에서 콘텐츠를 동적으로 만들 수 있는 메서드입니다. pageTitle, content는 섹션의 이름입니다. 이러한 섹션들은 View파일 내부에 정의되어야 합니다. $this->renderSection() 메서드는 제한 없이 호출이 가능합니다.
2. 뷰 파일에서 레이아웃 사용
해당 경로로 뷰 파일을 생성합니다.
app\Views\list.php
<?php $this->extend("master"); ?>
<?php echo $this->section("pageTitle"); ?>
게시판 목록
<?php echo $this->endSection(); ?>
<?php echo $this->section("content"); ?>
<table border='1' style="width:800px">
<thead>
<tr>
<td>제목</td>
<td>글쓴이</td>
</tr>
</thead>
<tbody>
<tr>
<td>안녕하세요</td>
<td>김철수</td>
</tr>
<tr>
<td>안녕하세요~방가</td>
<td>박영희</td>
</tr>
<tr>
<td>방가!!</td>
<td>이영호</td>
</tr>
</tbody>
</table>
<?php echo $this->endSection(); ?>
$this->extend()메소드는 레이아웃을 호출하는 메소드입니다. 해당 코드에서는 master라는 레이아웃 파일을 호출하고 있습니다. app\Views\master.php에 정의한 pateTitle 섹션, content 섹션 등을 $this->section() ..... $this->endSection() 열고 닫는 형태로 호출하고 있습니다.
3. 컨트롤러를 생성하여 뷰 파일 확인
app\Controllers\Board.php 컨트롤러 파일을 생성합니다. 앞서 만든 list 뷰 파일을 view() 메소드를 통해서 호출합니다.
<?php
namespace App\Controllers;
use App\Controllers\BaseController;
class Board extends BaseController
{
public function index()
{
//
echo view("board/list");
}
}
결과 화면은 생성한 컨트롤러 경로를 통해서 확인합니다.
반응형
'소프트웨어 개발 > PHP' 카테고리의 다른 글
[코드이그나이터4] 페이지네이션 뷰 만들기/뷰 생성 (0) | 2022.02.12 |
---|---|
[코드이그나이터4] 페이지네이션, 페이징처리 구현 - 모델에서 구현 (0) | 2022.02.12 |
[코드이그나이터4] CodeIgniter\Database\BaseResult::getResult() as shown below: (0) | 2022.02.10 |
PHP - 한글만 입력했는지 체크 (0) | 2022.02.09 |
[코드이그나이터4] 시간설정 appTimezone (0) | 2022.02.06 |
댓글