For using Twig templating engine with Zest framework you have to download the required files. To do this, run this: composer require twig/twig It'll download the required files. As everybody knows, we don't need to touch any core files, so in this case we create "theme", or whatever you call model.

We are actually creating App/Models/Theme.php: App/Models/Theme.php

<?php
namespace App\Models;
class Theme {
    /**
     * Render a view template using Twig
     *
     * @param string $template  The template file
     * @param array $args  Associative array of data to display in the view (optional)
     *
     * @return void
     */
    public static function renderTheme($template, $args = [])
    {
        static $twig = null;
        if ($twig === null) {
            $loader = new \Twig_Loader_Filesystem(dirname(__DIR__) . '/Views');
            $twig = new \Twig_Environment($loader);
        }
        echo $twig->render($template, $args);
    }
}

As you see we successfully created our theme model now we have to use and create view Its look like that

  \App\Models\Theme::renderTheme('Home/home.html');

Now we creating our home controller App/Controllers/Home.php App/Controllers/Home.php

<?php
namespace App\Controllers;
class Home extends \Zest\Controller\Controller
{
    public function index()
    {
        \App\Models\Theme::renderTemplate('Home/home.html');
    }
}

we have done our home controller now we have to create view Goto App/Views create base.html here ""App/Views/base.html""

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
         <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
        <link rel="stylesheet" type="text/css" href="css/style.css">
        <title>{% block title %}{% endblock %}</title>
    </head>
    <body>
        {% block body %}
        {% endblock %}
    </body>
    </html>

Now create Home directory in Views create home.html here App/Views/Home/home.html

    {% extends "base.html" %}

    {% block title %}Home{% endblock %}

    {% block body %}

        <div class="container">
            <h1 class='text-center'>Zest Framework</h1>
            <p class='text-center'>Start building your app</p>
        </div>

    {% endblock %}
Note after reading this you have to understand that you can easily integrate any third-party labs in Zest framework

Note

The documentation for Zest framework is not complete. We will complete soon.