Kotchasan Framework Documentation

Kotchasan Framework Documentation

View

EN 05 Feb 2026 07:55

View

\Kotchasan\View is for rendering views and templates.

Creation

use Kotchasan\View;

$view = new View();
$view->setTemplate('index');
$view->assign('title', 'My Page');
$view->assign('content', 'Hello World');

echo $view->render();

Methods

setTemplate()

Set template file.

$view->setTemplate('pages/home');
$view->setTemplate('admin/dashboard');

assign()

Assign variables to template.

$view->assign('name', 'John');
$view->assign('items', $array);
$view->assign([
    'name' => 'John',
    'email' => 'john@example.com'
]);

render()

Render template as HTML.

$html = $view->render();

setContents()

Set content directly (bypass template file).

$view->setContents('<h1>{TITLE}</h1><p>{CONTENT}</p>');

Template Syntax

Variables

<!-- template.html -->
<h1>{TITLE}</h1>
<p>{CONTENT}</p>

Arrays

<!-- Display array -->
<ul>
<!-- BEGIN: items -->
<li>{NAME} - {PRICE}</li>
<!-- END: items -->
</ul>

Usage Examples

Page View

$view = new View();
$view->setTemplate('pages/profile');
$view->assign([
    'name' => $user->name,
    'email' => $user->email,
    'avatar' => $user->avatar
]);

echo $view->render();

List View

$view = new View();
$view->setTemplate('pages/products');

$items = [];
foreach ($products as $product) {
    $items[] = [
        'NAME' => $product->name,
        'PRICE' => number_format($product->price, 2)
    ];
}

$view->assign('items', $items);
echo $view->render();

With Layout

// Main layout
$layout = new View();
$layout->setTemplate('layouts/main');

// Content view
$content = new View();
$content->setTemplate('pages/about');
$content->assign('title', 'About Us');

$layout->assign('content', $content->render());
echo $layout->render();