CI4

[코드이그나이터] 뷰(view)

으누아빠 2020. 9. 4. 15:37
반응형

뷰(View)

출처:
http://ci4doc.cikorea.net/outgoing/views.html

뷰는 단순히 웹 페이지 또는 머리글, 바닥 글, 사이드 바 등과 같은 페이지 조각

뷰는 직접 호출되지 않으며 컨트롤러가 로드

<?php

namespace App\Controllers;

use CodeIgniter\Controller;

class Pages extends Controller
{

    public function index()
    {

        echo view('content');
    }
}
<html>
<head>
    <title>My Blog</title>
</head>
<body>
    <h1>Welcome to my Blog!</h1>
</body>
</html>

다중(Multiple) 뷰 로드

둘 이상의 호출이 발생하면 출력에 추가

echo view('header');
echo view('content');
echo view('footer');

네임스페이스 뷰

CI3 에서 말하는 HMVC 형태를 CI4 에서 처리를 하였다면 네임스페이스 뷰가 편할 수 있음

<?php

namespace Modules\Main\Controllers;

use CodeIgniter\Controller;

class Main extends Controller
{

    public function index()
    {
        $data = array();
        echo view("Modules\Main\Views\MainView", $data);
    }
}

뷰 캐싱

// Cache the view for 60 seconds
echo view('file_name', $data, ['cache' => 60]);

뷰에 데이터 전달

view() 함수의 두 번째 파라미터를 이용하여 배열형식 으로 컨트롤러에서 뷰로 데이터를 전달할 수 있음

<?php namespace App\Controllers;

class Blog extends \CodeIgniter\Controller
{
        public function index()
        {
                $data['title']   = "My Real Title";
                $data['heading'] = "My Real Heading";

                echo view('blogview', $data);
        }
}
<html>
<head>
    <title><?= $title ?></title>
</head>
<body>
    <h1><?= $heading ?></h1>
</body>
</html>